🇰🇷 한글 설명
Linux 커널의 ALSA 시퀀서 OSS 모듈에서 snd_seq_oss_read() 함수의 크기 검사 조건이 뒤집혀 있어, 다음 이벤트가 사용자 버퍼에 들어갈 수 있는지 잘못 판단하는 문제가 해결되었습니다. 이로 인해 작은 읽기 버퍼에서 이벤트가 잘못 복사되거나 정상 이벤트가 복사되지 않는 문제가 발생할 수 있었으며, 수정 후에는 완전한 이벤트가 복사되지 않을 경우 -EINVAL을 반환하고 이벤트는 큐에 남겨집니다.
💡 쉬운 설명
소리 장치의 명령을 읽는 과정에서 데이터 크기를 잘못 비교하던 버그입니다. 이 버그는 데이터가 올바르게 전달되지 않거나 잘못된 크기의 데이터가 복사되게 만들 수 있었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ALSA: seq: oss: Reject reads that cannot fit the next event
snd_seq_oss_read() checks whether the next queued OSS sequencer event
fits in the remaining userspace buffer before removing it from the read
queue.
The check is inverted. It currently stops when the event is smaller than
the remaining buffer, so a normal 4-byte event is not copied for an
8-byte read buffer. Conversely, an 8-byte event can be copied for a
smaller read count.
Break only when the remaining userspace buffer is smaller than the next
event, and report -EINVAL if no complete event has been copied. This
prevents an undersized read from looking like end-of-file while leaving
the event queued for a later read with a large enough buffer.
📍 영향받는 시스템
ALSA 시퀀서 OSS 기능이 포함된 Linux 커널 (수정 이전 버전 전반, 정확한 영향 버전은 CVE 상세 정보 확인 필요)
⚔️ 공격 벡터
로컬 사용자가 ALSA 시퀀서 장치를 열고 특정 크기의 read 호출을 수행하여 잘못된 크기 비교를 유발하는 방식으로 추정되며, 공개된 정보가 제한적이므로 정확한 악용 조건은 확인되지 않음
🛡️ 대응 방법
배포판 벤더가 제공하는 최신 Linux 커널 보안 업데이트를 설치하고 시스템을 재부팅하세요.
🔧 검증 코드
커널 버전을 확인하고 배포판의 보안 권고나 패키지 변경 로그에서 CVE-2026-98912 수정 여부를 대조하며, CONFIG 값이 y 또는 m이면 해당 기능이 활성화되어 있어 영향 가능성이 있습니다.
uname -r && grep -i 'CONFIG_SND_SEQ_OSS\|CONFIG_SND_SEQUENCER_OSS' /boot/config-$(uname -r) 2>/dev/null