🇰🇷 한글 설명
리눅스 커널의 PCI 엔드포인트 드라이버에서 alloc_workqueue() 함수 호출 후 NULL 체크 누락으로 인한 NULL 포인터 역참조 취약점이 발견되었습니다. 메모리 할당 실패 시 반환된 NULL 포인터를 그대로 사용하면 시스템 충돌이 발생할 수 있으며, 패치를 통해 적절한 오류 검사와 처리가 추가되었습니다.
💡 쉬운 설명
시스템 메모리가 부족할 때 작업 큐 생성이 실패해도 이를 확인하지 않고 계속 실행해 프로그램이 충돌할 수 있는 문제입니다. 개발자는 이제 메모리 부족 시 안전하게 중단하도록 코드를 수정했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
PCI: endpoint: Add missing NULL check for alloc_workqueue()
alloc_workqueue() can return NULL on memory allocation failure. Without
proper error checking, this may lead to a NULL pointer dereference when
queue_work() is later called with the NULL workqueue pointer in
epf_ntb_epc_init().
Add a NULL check immediately after alloc_workqueue() and return -ENOMEM on
failure to prevent the driver from loading with an invalid workqueue
pointer.
📍 영향받는 시스템
Linux kernel (PCI endpoint subsystem)
⚔️ 공격 벡터
메모리 고갈을 유발하여 alloc_workqueue()의 실패를 유도한 후 NULL 포인터 역참조를 통해 서비스 거부(DoS) 발생
🛡️ 대응 방법
리눅스 커널을 최신 안정 버전으로 업데이트하여 PCI 엔드포인트 드라이버의 NULL 체크 로직을 적용하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 공식 보안 공지 또는 배포판 매뉴얼을 통해 확인하십시오.