🔍 CVE-2025-39783

7.8
CVSS Score
HIGH
2025-09-11
2026-10-19 21:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 PCI 엔드포인트 configfs 코드에서 리스트 헤드(list head)를 리스트 엔트리(list entry)로 잘못 취급하여 list_del()을 호출할 때 발생하는 메모리 접근 오류입니다. 드라이버 언로드 시 KASAN 경고(slab-use-after-free)를 유발합니다.

💡 쉬운 설명

Linux 커널의 메모리 관리 버그로, 드라이버를 제거할 때 데이터 구조를 잘못 삭제하려고 시도합니다. 이는 보안 익스플로잇이 아닌 코딩 오류로 인한 시스템 불안정성입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: PCI: endpoint: Fix configfs group list head handling Doing a list_del() on the epf_group field of struct pci_epf_driver in pci_epf_remove_cfs() is not correct as this field is a list head, not a list entry. This list_del() call triggers a KASAN warning when an endpoint function driver which has a configfs attribute group is torn down: ================================================================== BUG: KASAN: slab-use-after-free in pci_epf_remove_cfs+0x17c/0x198 Write of size 8 at addr ffff00010f4a0d80 by task rmmod/319 CPU: 3 UID: 0 PID: 319 Comm: rmmod Not tainted 6.16.0-rc2 #1 NONE Hardware name: Radxa ROCK 5B (DT) Call trace: show_stack+0x2c/0x84 (C) dump_stack_lvl+0x70/0x98 print_report+0x17c/0x538 kasan_report+0xb8/0x190 __asan_report_store8_noabort+0x20/0x2c pci_epf_remove_cfs+0x17c/0x198 pci_epf_unregister_driver+0x18/0x30 nvmet_pci_epf_cleanup_module+0x24/0x30 [nvmet_pci_epf] __arm64_sys_delete_module+0x264/0x424 invoke_syscall+0x70/0x260 el0_svc_common.constprop.0+0xac/0x230 do_el0_svc+0x40/0x58 el0_svc+0x48/0xdc el0t_64_sync_handler+0x10c/0x138 el0t_64_sync+0x198/0x19c ... Remove this incorrect list_del() call from pci_epf_remove_cfs().

📍 영향받는 시스템

Linux kernel 6.16.0-rc2 이상에서 PCI endpoint configfs 지원이 활성화된 시스템

⚔️ 공격 벡터

로컬 공격자가 특정 엔드포인트 함수 드라이버를 언로드할 때 커널 메모리 손상으로 인한 로컬 권한 상승 가능

🛡️ 대응 방법

최신 Linux 커널 버전으로 업데이트 (pci_epf_remove_cfs()의 부정확한 list_del() 제거 패치 포함)

🔧 검증 코드

CONFIG_PCI_ENDPOINT=y가 표시되면 PCI 엔드포인트 기능이 활성화되어 있으며, 취약한 커널 버전(6.16.0-rc2 근처)을 실행 중일 경우 영향을 받을 수 있습니다.

Shell / Script
cat /boot/config-$(uname -r) 2>/dev/null | grep -E '^CONFIG_PCI_ENDPOINT=' && uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel