🇰🇷 한글 설명
Linux 커널의 hwrng geode 드라이버에서 for_each_pci_dev() 루프를 중간에 빠져나올 때 pci_dev 참조 카운트를 감소시키지 않아 PCI 디바이스 참조 누수가 발생합니다. 이를 수정하기 위해 pci_dev와 membase를 기록하는 amd_geode_priv 구조체를 추가하고 정상 및 에러 경로에 pci_dev_put()을 추가했습니다.
💡 쉬운 설명
이 취약점은 Linux 커널의 난수 생성기 드라이버가 장치를 사용한 뒤 참조 정보를 제대로 반납하지 않아 생기는 메모리 누수 문제입니다. 주로 시스템 안정성에 영향을 주며, 패치를 적용하면 해결됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
hwrng: geode - Fix PCI device refcount leak
for_each_pci_dev() is implemented by pci_get_device(). The comment of
pci_get_device() says that it will increase the reference count for the
returned pci_dev and also decrease the reference count for the input
pci_dev @from if it is not NULL.
If we break for_each_pci_dev() loop with pdev not NULL, we need to call
pci_dev_put() to decrease the reference count. We add a new struct
'amd_geode_priv' to record pointer of the pci_dev and membase, and then
add missing pci_dev_put() for the normal and error path.
📍 영향받는 시스템
패치 이전의 Linux 커널 (hwrng geode 드라이버를 포함하는 버전)
⚔️ 공격 벡터
공개된 정보상 원격 공격 경로는 확인되지 않으며, 리소스 누수로 인한 시스템 안정성 저하 수준으로 보입니다.
🛡️ 대응 방법
배포판에서 제공하는 최신 Linux 커널 보안 업데이트를 설치하고 재부팅합니다.
🔧 검증 코드
출력된 커널 버전이 해당 CVE 수정이 포함된 배포판의 패치 버전 이상인지 배포판 보안 공지와 대조하여 확인합니다.