🔍 CVE-2026-52997

5.5
CVSS Score
MEDIUM
2026-06-24
2026-07-15 12:56
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net/sched: sch_dualpi2 구성 변경 시 C-queue와 L-queue의 드레인 로직 오류로 인해 NULL skb 역참조가 발생할 수 있는 취약점입니다. 설정 변경 과정에서 C-queue가 비어 있고 L-queue에만 패킷이 있는 경우, 유효하지 않은 메모리 참조로 인해 시스템 충돌이 발생할 수 있습니다.

💡 쉬운 설명

네트워크 데이터 처리 방식 중 하나인 dualpi2 설정이 바뀔 때, 컴퓨터가 잘못된 메모리 위치를 참조하여 시스템이 멈추거나 오류가 날 수 있는 문제입니다. 데이터가 특정 통로에만 있을 때 이를 제대로 확인하지 못해 발생하는 현상입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_dualpi2: drain both C-queue and L-queue in dualpi2_change() Fix dualpi2_change() to correctly enforce updated limit and memlimit values after a configuration change of the dualpi2 qdisc. Before this patch, dualpi2_change() always attempted to dequeue packets via the root qdisc (C-queue) when reducing backlog or memory usage, and unconditionally assumed that a valid skb will be returned. When traffic classification results in packets being queued in the L-queue while the C-queue is empty, this leads to a NULL skb dereference during limit or memlimit enforcement. This is fixed by first dequeuing from the C-queue path if it is non-empty. Once the C-queue is empty, packets are dequeued directly from the L-queue. Return values from qdisc_dequeue_internal() are checked for both queues. When dequeuing from the L-queue, the parent qdisc qlen and backlog counters are updated explicitly to keep overall qdisc statistics consistent.

📍 영향받는 시스템

Linux kernel (sch_dualpi2 qdisc 사용 환경)

⚔️ 공격 벡터

네트워크 트래픽 분류를 조작하여 C-queue는 비우고 L-queue에만 패킷을 쌓은 상태에서 qdisc 설정을 변경하도록 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel