🇰🇷 한글 설명
Linux 커널의 qla2xxx SCSI 드라이버에서 호스트 해제 시 cs84xx 객체에 대한 Use-After-Free 취약점이 발견되었습니다. 호스트 제거 전 객체가 먼저 해제되어 sysfs 속성을 읽으려는 동시 작업이 해제된 메모리에 접근할 수 있는 문제입니다.
💡 쉬운 설명
컴퓨터 부품을 제거하는 과정에서 메모리 정리 순서가 잘못되어 발생한 오류입니다. 부품 정보가 사라지기 전에 이미 삭제된 메모리 영역을 읽으려다 시스템이 충돌하거나 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Fix cs84xx use-after-free on host teardown
qla84xx_put_chip() drops the last reference to ha->cs84xx and frees it via
__qla84xx_chip_release() without clearing ha->cs84xx. During teardown it ran
before scsi_remove_host(), which is what removes the 84xx_fw_version host
sysfs attribute. A concurrent read of that attribute in the window between
the two calls executes qla24xx_84xx_fw_version_show(), which dereferences
the freed ha->cs84xx, resulting in a use-after-free.
Move qla84xx_put_chip() to after scsi_remove_host() in both
qla2x00_remove_one() and qla2x00_disable_board_on_pci_error(). Once
scsi_remove_host() returns, the sysfs attribute is gone and kernfs has
drained any in-flight show(), so no reader can touch cs84xx; the put still
runs before the host and ha are freed.
📍 영향받는 시스템
Linux kernel (qla2xxx SCSI driver)
⚔️ 공격 벡터
호스트 해제 과정 중 sysfs 속성에 대한 동시 접근을 통한 로컬 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.