🇰🇷 한글 설명
Linux 커널의 트레이싱(tracing) 서브시스템에서 predicate_parse() 함수가 예약 엔트리 개수를 제한값으로 함께 사용하여, 파싱된 predicate 수가 할당 크기를 초과할 경우 할당된 메모리 범위를 벗어나는 접근이 발생할 수 있습니다. 이를 해결하기 위해 predicate 제한값과 할당 크기를 분리하여 관리하도록 수정되었습니다.
💡 쉬운 설명
리눅스 커널의 추적 기능 내부에서 계산 오류가 있어, 저장 공간을 넘어서 메모리를 읽거나 쓸 수 있는 문제입니다. 이로 인해 시스템이 비정상 동작하거나 권한이 상승될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tracing: Keep the predicate limit separate from program capacity
predicate_parse() adds two to nr_preds to reserve the terminal TRUE
and FALSE entries. It also uses that increased value as the limit for
parsed predicates. If the initial count is smaller than the number
actually parsed, the program can fill the allocation and subsequent
accesses can go past its end.
Keep nr_preds as the predicate limit and use a separate value for the
allocation size. This leaves space for both terminal entries and a
zeroed entry when parsing stops at the limit.
📍 영향받는 시스템
패치 이전의 Linux 커널 (tracing 서브시스템 포함 버전, 정확한 영향 버전은 해당 커널 배포판 공지 확인 필요)
⚔️ 공격 벡터
로컬 사용자가 ftrace 등 트레이싱 인터페이스에 조작된 predicate 필터 식을 입력하여 힙 메모리 범위를 벗어난 접근을 유도
🛡️ 대응 방법
배포판 벤더가 제공하는 최신 커널 보안 업데이트를 적용하고 시스템을 재부팅
🔧 검증 코드
출력된 커널 버전을 배포판 보안 공지(CVE-2026-99143 수정 버전)와 비교하여, 해당 수정이 포함된 빌드인지 확인하고 미포함이면 업데이트가 필요함