CVE-2026-80829 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 04.

리눅스 커널에서 다음 취약점이 해결되었습니다:

ALSA: usb-audio: snd_usbmidi_novation_output()에서의 OOB(범위 밖) 쓰기 수정

snd_usbmidi_novation_output() 함수는 transfer_buffer[0..1]에 2바이트 헤더를 배치하고, ep->max_transfer - 2의 길이와 함께 &transfer_buffer[2]를 snd_rawmidi_transmit()로 전달합니다:

count = snd_rawmidi_transmit(ep->ports[0].substream,
&transfer_buffer[2],
ep->max_transfer - 2);

ep->max_transfer 값은 usb_maxpacket()을 통해 출력 엔드포인트의 wMaxPacketSize에서 가져옵니다. 손상되거나 악성인 장치는 wMaxPacketSize가 1인 bulk OUT 엔드포인트를 광고할 수 있습니다(USB 코어는 이 값을 아래로만 제한하므로) 따라서 ep->max_transfer는 1이 되고 count 인자는 -1이 됩니다.

snd_rawmidi_transmit() 함수는 음수인 count 값을 __snd_rawmidi_transmit_peek()에 전달합니다. 여기서 "if (count1 > count) count1 = count" 구문은 count1을 음수로 유지하며, get_aligned_size() 함수도 byte-stream 서브스트림의 경우 이를 음수로 유지합니다. 그 결과 다음 memcpy(buffer, ..., count1) 호출이 (size_t)-1 길이를 사용하여 실행되며, usb_alloc_coherent(ep->max_transfer)로 할당된 transfer_buffer를 훨씬 넘어가는 영역에 데이터를 씁니다.

이는 커밋 0970274613fb("ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output()")에서 수정되었던 것과 동일한 유형의 버그입니다; novation 출력 루틴은 보호되지 않은 상태로 남아 있었습니다. 엔드포인트가 2바이트 헤더와 최소한 하나의 페이로드 바이트를 수용할 수 없는 경우 즉시 종료(Bail out)합니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-399043

EPSS

0.00000

출처

Might our Artificial Intelligence support you?

Check our Alexa App!