🇰🇷 한글 설명
Linux 커널의 Comedi 서브디바이스 명령 처리 과정에서 데이터 초기화 미흡으로 인한 취약점이 발견되었습니다. 특정 명령이 서브디바이스에 데이터를 쓸 때, 사용자 공간에서 복사되지 않은 나머지 데이터 요소들이 초기화되지 않은 상태로 남아 있어 메모리 내의 임의 데이터를 읽을 수 있는 위험이 있습니다.
💡 쉬운 설명
컴퓨터 부품을 제어하는 프로그램이 데이터를 처리할 때, 비어있는 공간을 깨끗이 지우지 않고 그대로 사용하여 시스템 내부의 민감한 정보가 유출될 수 있는 문제입니다. 이는 마치 빈 상자를 전달할 때 이전 사용자가 남긴 흔적이 그대로 남아있는 것과 같습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
comedi: Fix initialization of data for instructions that write to subdevice
Some Comedi subdevice instruction handlers are known to access
instruction data elements beyond the first `insn->n` elements in some
cases. The `do_insn_ioctl()` and `do_insnlist_ioctl()` functions
allocate at least `MIN_SAMPLES` (16) data elements to deal with this,
but they do not initialize all of that. For Comedi instruction codes
that write to the subdevice, the first `insn->n` data elements are
copied from user-space, but the remaining elements are left
uninitialized. That could be a problem if the subdevice instruction
handler reads the uninitialized data. Ensure that the first
`MIN_SAMPLES` elements are initialized before calling these instruction
handlers, filling the uncopied elements with 0. For
`do_insnlist_ioctl()`, the same data buffer elements are used for
handling a list of instructions, so ensure the first `MIN_SAMPLES`
elements are initialized for each instruction that writes to the
subdevice.
📍 영향받는 시스템
Linux kernel (Comedi subdevice driver 사용 환경)
⚔️ 공격 벡터
로컬 공격자가 특수하게 조작된 ioctl 명령을 통해 초기화되지 않은 커널 메모리 영역에 접근
🛡️ 대응 방법
Comedi 드라이버의 데이터 초기화 로직이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 보안 업데이트 버전인지 확인