🔍 CVE-2026-98584

0.0
CVSS Score
UNKNOWN
2026-10-18
2026-10-19 10:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net/sched 구성 요소 내 em_text_dump() 함수에서 스택 정보 유출 취약점이 발견되었습니다. strscpy() 함수 사용으로 인해 구조체의 일부 데이터가 초기화되지 않은 상태로 Netlink 응답을 통해 외부로 노출될 수 있습니다.

💡 쉬운 설명

컴퓨터의 임시 메모리 공간에 남아있던 민감한 정보가 의도치 않게 외부로 흘러나갈 수 있는 문제입니다. 시스템의 중요한 데이터가 공격자에게 노출될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net/sched: fix potential stack infoleak in em_text_dump() em_text_dump() allocates struct tcf_em_text on the stack without zeroing it. strscpy() writes the algorithm name and a NUL terminator into conf.algo[], leaving the remaining bytes uninitialised. nla_put_nohdr() then copies the full struct to the netlink response. KMSAN on Linux 7.2-rc6 reports two kernel-infoleak splats from this path, one triggered via "tc filter show" and one via a raw RTM_GETTFILTER dump: BUG: KMSAN: kernel-infoleak in _copy_to_iter+0x1c9/0x2620 nla_put_nohdr+0x83/0x130 em_text_dump+0x291/0x550 Local variable conf created at: em_text_dump+0x5d/0x550 Bytes 168-179 of 199 are uninitialized I am not certain whether this constitutes a real security problem in practice: the test was conducted in a controlled KMSAN environment and the leaked stack bytes may or may not carry sensitive data on actual production kernels. I am reporting it because KMSAN flagged it as a kernel-infoleak and the fix is straightforward. I can provide a userspace reproducer on request. The original code used strncpy() which zero-pads to the destination size. Commit b04202d6065c ("net/sched: replace strncpy with strscpy") replaced it with strscpy(), which does not pad, creating this condition. Zero-initialising the struct closes it.

📍 영향받는 시스템

Linux Kernel (em_text_dump 함수를 사용하는 net/sched 모듈 포함 버전)

⚔️ 공격 벡터

tc filter show 명령어나 RTM_GETTFILTER 요청을 통한 Netlink 메시지 수신

🛡️ 대응 방법

해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트하거나 em_text_dump() 내 구조체 초기화 패치 적용

🔧 검증 코드

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

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel