🇰🇷 한글 설명
리눅스 커널의 tracing 기능 중 synthetic-field 문자열 처리 과정에서 버퍼 오버플로 취약점이 발견되었습니다. 기존의 strcat() 함수 사용으로 인해 긴 필드 이름이나 필터가 입력될 경우 고정된 버퍼 크기를 초과하여 메모리 오염을 일으킬 수 있습니다.
💡 쉬운 설명
리눅스 시스템의 기록(tracing) 기능에서 글자 수를 제대로 체크하지 않아 발생하는 문제입니다. 너무 긴 이름을 입력하면 정해진 메모리 공간을 넘쳐흘러 시스템 오류를 일으킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tracing: Bound synthetic-field strings with seq_buf
The synthetic field helpers build a prefixed synthetic variable name and
a generated hist command in fixed MAX_FILTER_STR_VAL buffers. The
current code appends those strings with raw strcat(), so long key lists,
field names, or saved filters can run past the end of the staging
buffers.
Build both strings with seq_buf and propagate -E2BIG if either the
synthetic variable name or the generated command exceeds
MAX_FILTER_STR_VAL. This keeps the existing tracing-side limit while
using the helper intended for bounded command construction.
[ sdr: Moved struct seq_buf *s for upside-down x-mas tree formatting ]
📍 영향받는 시스템
Linux Kernel (tracing subsystem 사용 버전)
⚔️ 공격 벡터
조작된 긴 필드 이름이나 필터를 사용하여 tracing synthetic-field 문자열 생성 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.