CVE-2026-98969 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 24.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net/sched: em_text: autoload 전에 종료되지 않은 알고리즘을 거부함

이 수정은 commit 9c572a83037a("net/sched: fix potential stack infoleak in em_text_dump()")의 후속 조치로, 해당 커밋에서 dump-side struct를 영-zero 초기화했습니다. Sashiko는 변경 측(change-side) 입력 검증 격차를 노출시키는 기존 버그를 지적했습니다.

em_text_change() 함수는 원시 netlink 속성 페이로드를 struct tcf_em_text로 캐스팅하고, NUL 종료 문자가 강제되지 않는 16바이트 배열인 conf->algo를 textsearch_prepare()에 전달합니다. TS_AUTOLOAD 재시도 시 textsearch_prepare()은 request_module("ts_%s", algo); 를 호출하며, vsnprintf()는 %s 포맷터에서 NUL을 찾을 때까지 문자열을 탐색합니다. 따라서 NUL이 없는 algo[] 배열의 바이트가 배열 경계를 넘어 인접한 struct 필드와 페이로드를 읽어들여 이를 사용자 모드 헬퍼 명령줄에 전달하게 됩니다. 이는 범위를 벗어난 읽기(out-of-bounds read) 및 커널 메모리 정보 유출(kernel memory disclosure)입니다.

TC_EM_TEXT_ALGOSIZ 바이트 내에 NUL 문자가 없는 경우 해당 속성을 거부하며, 이는 3ab720881b6e 이후 xt_string이 유지해 온 검증 기준과 일치합니다.

버그 재현을 위한 조건: - 대상 netns(네임스페이스 로컬)에서 CAP_NET_ADMIN 권한 보유 (unshare -Urn만으로도 충분함) - 인터페이스에 clsact를 설치한 후, algo[]가 NUL 없이 16바이트인 기본 필터 하나와 text ematch 추가 (예: "A"*16), pattern_len은 최소 1 이상
- 추가 작업이 -ENOENT로 실패하고 커널이 모듈 이름으로 "ts_"에 이어지는 16바이트 및 인접 페이로드를 사용하여 modprobe를 호출함

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-425776

EPSS

0.00000

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!