🇰🇷 한글 설명
리눅스 커널의 CPU 핫플러그 상태를 처리하는 sysfs 출력 과정에서 버퍼 오버플로 취약점이 발견되었습니다. sprintf() 함수를 사용하여 상태 이름을 단일 버퍼에 추가할 때, 등록된 상태가 충분히 많으면 PAGE_SIZE 크기의 버퍼 범위를 초과하여 데이터를 쓸 수 있습니다.
💡 쉬운 설명
컴퓨터의 CPU 상태 정보를 보여주는 메모리 공간이 정해진 크기보다 더 많은 정보를 담으려다 넘쳐버리는 문제입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
cpu: hotplug: Bound hotplug states sysfs output
states_show() adds CPU hotplug state names into a single sysfs buffer
using sprintf(). With enough registered states, this can write past the
end of the PAGE_SIZE buffer.
Use sysfs_emit_at() so output is bounded.
📍 영향받는 시스템
CPU hotplug 기능을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
시스템에 다수의 CPU 핫플러그 상태를 등록하여 sysfs 버퍼를 초과하는 데이터를 생성함으로써 발생
🛡️ 대응 방법
sysfs_emit_at() 함수를 사용하여 출력을 제한하도록 커널을 업데이트하거나 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전인지 확인