CVE-2022-49826 in Linux
요약
\~에 의해 VulDB • 2026. 06. 23.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ata: libata-transport: ata_tport_add()에서의 중복 ata_host_put() 수정
ata_tport_add()의 오류 경로에서 put_device()를 호출하면, ata_tport_release()가 호출되어 'ap->host'의 참조 카운트를 감소시킵니다.
그 후 다시 ata_host_put()이 호출되면 참조 카운트가 0으로 줄어들고, ata_host_release()가 호출됩니다. 이로 인해 모든 포트가 해제되고 null로 설정됩니다.
실패 후 장치를 언바인딩할 때 리소스를 해제하기 위해 ata_host_stop()이 호출되지만, 모든 포트가 이미 해제되어 null 상태이기 때문에 null-ptr-deref(널 포인터 역참조) 오류가 발생합니다.
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 CPU: 7 PID: 18671 Comm: modprobe Kdump: loaded Tainted: G E 6.1.0-rc3+ #8 pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : ata_host_stop+0x3c/0x84 [libata]
lr : release_nodes+0x64/0xd0 Call trace: ata_host_stop+0x3c/0x84 [libata]
release_nodes+0x64/0xd0 devres_release_all+0xbc/0x1b0 device_unbind_cleanup+0x20/0x70 really_probe+0x158/0x320 __driver_probe_device+0x84/0x120 driver_probe_device+0x44/0x120 __driver_attach+0xb4/0x220 bus_for_each_dev+0x78/0xdc driver_attach+0x2c/0x40 bus_add_driver+0x184/0x240 driver_register+0x80/0x13c __pci_register_driver+0x4c/0x60 ahci_pci_driver_init+0x30/0x1000 [ahci]
오류 경로에서 중복된 ata_host_put()을 제거하여 이 문제를 해결합니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.