🇰🇷 한글 설명
Linux 커널의 ocxl 드라이버에서 get_function_0() 함수가 PCI 장치의 참조 카운트를 증가시킨 뒤 이를 해제하지 않아 메모리/리소스 누수가 발생하는 문제가 수정되었습니다. 이제 호출자가 항상 pci_dev_put()을 호출할 수 있도록 참조를 미리 확보하도록 변경되었습니다.
💡 쉬운 설명
컴퓨터 장치를 사용한 뒤 반납하지 않아 자원이 조금씩 새어 나가는 버그입니다. 이 문제는 시스템 안정성에 영향을 줄 수 있으나 외부에서 직접 공격하기는 어렵습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ocxl: fix pci device refcount leak when calling get_function_0()
get_function_0() calls pci_get_domain_bus_and_slot(), as comment
says, it returns a pci device with refcount increment, so after
using it, pci_dev_put() needs be called.
Get the device reference when get_function_0() is not called, so
pci_dev_put() can be called in the error path and callers
unconditionally. And add comment above get_dvsec_vendor0() to tell
callers to call pci_dev_put().
📍 영향받는 시스템
ocxl(OpenCAPI) 드라이버를 포함한 Linux 커널 (수정 이전 버전)
⚔️ 공격 벡터
외부 원격 공격 경로는 뚜렷하지 않으며, 로컬 권한을 가진 사용자가 반복적으로 관련 기능을 호출해 자원 고갈을 유발할 가능성이 있음
🛡️ 대응 방법
배포판이 제공하는 최신 Linux 커널 업데이트를 설치하고 재부팅
🔧 검증 코드
출력된 커널 버전이 배포판의 보안 업데이트가 적용된 최신 버전인지 확인하고, 해당 버전의 changelog에서 CVE-2022-50337 수정 여부를 대조합니다.