🇰🇷 한글 설명
Linux 커널의 usb gadget f_uac1_legacy 모듈에서 configfs 속성의 문자열 처리 로직에 오류가 발견되었습니다. kstrndup() 함수의 반환값에 대한 null 체크가 반대로 되어 있어, 쓰기 작업 시 성공하면 오류를 반환하고 실패하면 NULL 포인터를 참조하는 결함이 있었습니다. 이로 인해 해당 속성들은 정상적으로 작동하지 않았으며, 이번 패치를 통해 문제가 되는 매크로와 속성들이 제거되었습니다.
💡 쉬운 설명
USB 장치 설정 중 일부 기능에서 데이터를 저장할 때 논리적 오류가 있어 제대로 작동하지 않는 문제가 있었습니다. 이 오류는 시스템을 멈추게 할 수 있는 위험이 있어, 문제가 되는 잘못된 설정 기능을 아예 삭제하여 해결했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_uac1_legacy: remove broken string configfs attributes
The UAC1_STR_ATTRIBUTE macro defines configfs show/store handlers for
the fn_play, fn_cap, and fn_cntl string options. The store function
contains an inverted null check on the kstrndup() return value.
This means every write attempt returns -ENOMEM on success and
dereferences a NULL pointer on allocation failure. The attributes
have been broken and unused for many years.
Remove the UAC1_STR_ATTRIBUTE macro and the three attributes it
generated. The internal defaults (FILE_PCM_PLAYBACK, FILE_PCM_CAPTURE,
FILE_CONTROL) set in f_audio_alloc_inst() are unaffected.
📍 영향받는 시스템
Linux kernel (usb gadget f_uac1_legacy 모듈을 사용하는 시스템)
⚔️ 공격 벡터
로컬 공격자가 configfs를 통해 잘못된 문자열 속성에 쓰기 작업을 시도하여 NULL 포인터 역참조 유발 가능
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.