🔍 CVE-2025-37797

7.8
CVSS Score
HIGH
2025-05-02
2026-07-30 06:22
✅ 완료

🇰🇷 한글 설명

Linux 커널의 HFSC qdisc 클래스 처리 과정에서 발생하는 Use-After-Free(UAF) 취약점입니다. hfsc_change_class() 함수에서 특정 자식 qdisc(netem, codel 등)를 처리할 때, 체크 시점과 사용 시점의 차이(TOCTOU)로 인해 큐가 비어있음에도 비어있지 않다고 판단하여 메모리 오류가 발생합니다.

💡 쉬운 설명

네트워크 데이터를 관리하는 규칙을 변경할 때, 데이터가 이미 사라졌는데도 남아있다고 착각하여 잘못된 메모리 주소를 참조하는 문제입니다. 이로 인해 시스템이 충돌하거나 보안 공격에 악용될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net_sched: hfsc: Fix a UAF vulnerability in class handling This patch fixes a Use-After-Free vulnerability in the HFSC qdisc class handling. The issue occurs due to a time-of-check/time-of-use condition in hfsc_change_class() when working with certain child qdiscs like netem or codel. The vulnerability works as follows: 1. hfsc_change_class() checks if a class has packets (q.qlen != 0) 2. It then calls qdisc_peek_len(), which for certain qdiscs (e.g., codel, netem) might drop packets and empty the queue 3. The code continues assuming the queue is still non-empty, adding the class to vttree 4. This breaks HFSC scheduler assumptions that only non-empty classes are in vttree 5. Later, when the class is destroyed, this can lead to a Use-After-Free The fix adds a second queue length check after qdisc_peek_len() to verify the queue wasn't emptied.

📍 영향받는 시스템

HFSC qdisc를 사용하는 Linux 커널 (netem 또는 codel qdisc와 함께 사용 시)

⚔️ 공격 벡터

특정 qdisc(netem, codel 등)를 사용하는 환경에서 네트워크 클래스 설정을 변경하여 메모리 오류 유도

🛡️ 대응 방법

HFSC 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:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel