🇰🇷 한글 설명
Linux 커널의 USB gadget f_fs 구성 요소에서 엔드포인트 방향 체크 오류가 발견되었습니다. 호스트 연결 전 실행되는 ioctl 호출 시 엔드포인트 방향 정보가 초기화되지 않아 DMA 방향이 잘못 설정될 수 있는 취약점입니다.
💡 쉬운 설명
USB 장치를 연결하기 전에 특정 명령을 내리면 데이터가 들어오고 나가는 방향을 컴퓨터가 잘못 판단할 수 있는 문제입니다. 이로 인해 데이터 전송 과정에서 오류가 발생하거나 보안 설정이 어긋날 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_fs: Initialize epfile->in early to fix endpoint direction checks
When parsing endpoint descriptors, ffs_data_got_descs() generates the
eps_addrmap which contains the endpoint direction. However, epfile->in
was previously only populated in ffs_func_eps_enable() which executes
upon USB host connection. As a result, early userspace ioctls like
FUNCTIONFS_DMABUF_ATTACH that run before the host connects would see
epfile->in as 0, leading to incorrect DMA directions.
By moving the initialization to ffs_epfiles_create(), epfile->in is
accurate before userspace opens the endpoint files.
📍 영향받는 시스템
Linux kernel (USB gadget f_fs 구성 요소 사용 시스템)
⚔️ 공격 벡터
호스트 연결 전 사용자 공간(userspace)에서 특정 ioctl(FUNCTIONFS_DMABUF_ATTACH)을 호출하여 발생
🛡️ 대응 방법
엔드포인트 초기화 로직이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 버전인지 배포판 보안 공지를 통해 확인하십시오.