🔍 CVE-2026-90109

0.0
CVSS Score
UNKNOWN
2026-09-17
2026-10-21 13:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net: sched 구성 요소(gred, bfifo, plug)에서 32비트 백로그 값이 오버플로되는 취약점이 발견되었습니다. 백로그 합계가 4GiB를 초과할 경우 값이 다시 작아지면서 큐 제한 검사를 통과하게 되어, 큐가 무한히 커지고 결국 시스템 메모리 부족(OOM)을 유발할 수 있습니다.

💡 쉬운 설명

데이터가 쌓이는 저장 공간의 크기를 계산할 때 숫자가 너무 커져서 다시 0부터 시작하는 오류가 발생합니다. 이로 인해 저장 공간이 가득 찼음에도 계속 데이터를 받아들여 컴퓨터의 메모리가 바닥나고 시스템이 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: sched: fix 32-bit backlog wrap in gred, bfifo and plug enqueue gred_enqueue(), bfifo_enqueue() and plug_enqueue() admit a packet when the current backlog plus the packet length fits within the queue limit: sch->qstats.backlog + qdisc_pkt_len(skb) <= sch->limit (gred default VQ) gred_backlog+qdisc_pkt_len(skb) <= q->limit (gred configured VQ) sch->qstats.backlog + qdisc_pkt_len(skb) <= sch->limit (bfifo) sch->qstats.backlog + skb->len <= q->limit (plug) sch->qstats.backlog and q->backlog are u32, and qdisc_pkt_len()/skb->len are unsigned int, so all sums are computed in 32 bits and wrap at 2^32. Once the true backlog exceeds 4 GiB the wrapped sum becomes small and admission keeps succeeding, so the queue grows without bound and the kernel can be driven to OOM. Promote the sums to u64 so admission stops once the true backlog exceeds the limit. The limit is u32, so the bounded queue stays below 2^32 and the stored u32 backlog never wraps. The bug can only be reproduced as root (albeit with ridiculous setup): attach a gred (or bfifo/plug) qdisc with a limit near 4 GiB, leaving the default VQ unconfigured (for gred), and drive >4 GiB of queued traffic (e.g. via a size table / stab to inflate qdisc_pkt_len, or sustained high-rate traffic). The u32 backlog+len sum wraps at 2^32, admission keeps succeeding, and the queue grows unboundedly to OOM.

📍 영향받는 시스템

gred, bfifo, plug qdisc를 사용하는 Linux 커널 버전

⚔️ 공격 벡터

루트 권한을 가진 공격자가 대량의 트래픽을 생성하여 4GiB 이상의 백로그를 유도함으로써 메모리 고갈 유발

🛡️ 대응 방법

백로그 계산 방식을 32비트(u32)에서 64비트(u64)로 업그레이드한 최신 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel