🔍 CVE-2025-40118

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

🇰🇷 한글 설명

Linux 커널의 scsi: pm80xx 드라이버에서 모듈 제거(rmmod) 시 배열 인덱스 범위를 벗어나는 취약점이 발견되었습니다. 익스팬더(Expander)를 사용하는 환경에서 장치의 phy ID가 로컬 범위를 초과하여 잘못된 메모리 위치에 접근할 수 있습니다.

💡 쉬운 설명

컴퓨터 부품을 연결하는 드라이버가 장치를 제거할 때, 잘못된 번호를 참조하여 시스템 메모리의 엉뚱한 곳을 건드리는 문제입니다. 이로 인해 시스템이 불안정해지거나 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: scsi: pm80xx: Fix array-index-out-of-of-bounds on rmmod Since commit f7b705c238d1 ("scsi: pm80xx: Set phy_attached to zero when device is gone") UBSAN reports: UBSAN: array-index-out-of-bounds in drivers/scsi/pm8001/pm8001_sas.c:786:17 index 28 is out of range for type 'pm8001_phy [16]' on rmmod when using an expander. For a direct attached device, attached_phy contains the local phy id. For a device behind an expander, attached_phy contains the remote phy id, not the local phy id. I.e. while pm8001_ha will have pm8001_ha->chip->n_phy local phys, for a device behind an expander, attached_phy can be much larger than pm8001_ha->chip->n_phy (depending on the amount of phys of the expander). E.g. on my system pm8001_ha has 8 phys with phy ids 0-7. One of the ports has an expander connected. The expander has 31 phys with phy ids 0-30. The pm8001_ha->phy array only contains the phys of the HBA. It does not contain the phys of the expander. Thus, it is wrong to use attached_phy to index the pm8001_ha->phy array for a device behind an expander. Thus, we can only clear phy_attached for devices that are directly attached.

📍 영향받는 시스템

Linux kernel (scsi: pm80xx driver using expander)

⚔️ 공격 벡터

로컬 시스템에서 특정 SCSI 장치 모듈을 제거(rmmod)하는 동작을 통해 유발 가능

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 커널 패치 버전 이후인지 확인하십시오.

Shell / Script
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