🔍 CVE-2025-39766

7.8
CVSS Score
HIGH
2025-09-11
2026-10-19 21:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 cake 네트워크 스케줄러에서 메모리 제한이 낮을 때 패킷 드롭이 발생하지만 cake_enqueue가 NET_XMIT_CN(혼잡 알림) 대신 NET_XMIT_SUCCESS를 반환하여 HTB 큐의 상태 불일치로 WARNING이 발생하는 버그.

💡 쉬운 설명

네트워크 패킷 관리 시스템에서 메모리 부족으로 패킷이 버려질 때 시스템이 이를 올바르게 보고하지 않아 오류가 발생합니다. 매우 제한된 메모리 환경에서 나타나는 버그입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net/sched: Make cake_enqueue return NET_XMIT_CN when past buffer_limit The following setup can trigger a WARNING in htb_activate due to the condition: !cl->leaf.q->q.qlen tc qdisc del dev lo root tc qdisc add dev lo root handle 1: htb default 1 tc class add dev lo parent 1: classid 1:1 \ htb rate 64bit tc qdisc add dev lo parent 1:1 handle f: \ cake memlimit 1b ping -I lo -f -c1 -s64 -W0.001 127.0.0.1 This is because the low memlimit leads to a low buffer_limit, which causes packet dropping. However, cake_enqueue still returns NET_XMIT_SUCCESS, causing htb_enqueue to call htb_activate with an empty child qdisc. We should return NET_XMIT_CN when packets are dropped from the same tin and flow. I do not believe return value of NET_XMIT_CN is necessary for packet drops in the case of ack filtering, as that is meant to optimize performance, not to signal congestion.

📍 영향받는 시스템

Linux kernel 5.14 이상의 모든 버전 (net/sched/sch_cake.c cake_enqueue 함수)

⚔️ 공격 벡터

로컬 공격: 매우 낮은 memlimit으로 cake qdisc 설정 후 루프백 인터페이스로 대량 패킷 송신하여 메모리 초과 상황 유발

🛡️ 대응 방법

Linux 커널을 패치된 최신 버전으로 업데이트하거나 cake qdisc 사용 시 적절한 memlimit 값 설정으로 회피

🔧 검증 코드

커널 버전이 5.14 이상인지 확인. 해당 버전의 경우 배포판 보안 공지를 통해 패치 여부 확인 필요.

Shell / Script
cat /proc/version | grep -oP 'Linux version \K[0-9]+\.[0-9]+'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel