🔍 CVE-2024-27047

5.5
CVSS Score
MEDIUM
2024-05-01
2026-10-15 01:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net/phy 드라이버에서 phy_get_internal_delay 함수가 delay_values를 정의하지 않고 rx-internal-delay-ps 또는 tx-internal-delay-ps가 0으로 설정된 경우 빈 배열에 접근하여 NULL pointer dereference를 유발합니다. 이로 인해 "unable to handle kernel NULL pointer dereference" 오류로 커널 panic이 발생합니다.

💡 쉬운 설명

Linux 커널의 네트워크 드라이버에서 특정 설정 조건에서 메모리를 잘못 접근하여 시스템이 충돌하는 문제입니다. 의도적인 설정이나 악성 디바이스 트리를 통해 시스템의 가용성을 방해할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: phy: fix phy_get_internal_delay accessing an empty array The phy_get_internal_delay function could try to access to an empty array in the case that the driver is calling phy_get_internal_delay without defining delay_values and rx-internal-delay-ps or tx-internal-delay-ps is defined to 0 in the device-tree. This will lead to "unable to handle kernel NULL pointer dereference at virtual address 0". To avoid this kernel oops, the test should be delay >= 0. As there is already delay < 0 test just before, the test could only be size == 0.

📍 영향받는 시스템

Linux kernel 전체 버전 (net/phy 드라이버 사용하는 모든 플랫폼, 패치 적용 이전)

⚔️ 공격 벡터

디바이스 트리에서 rx-internal-delay-ps 또는 tx-internal-delay-ps를 0으로 설정하고 delay_values가 정의되지 않은 상태에서 phy_get_internal_delay 호출 시 트리거

🛡️ 대응 방법

Linux 커널을 최신 패치 버전으로 업데이트하여 delay 검증 로직 수정 (size == 0 조건 추가)

🔧 검증 코드

현재 커널 버전을 확인하고, 해당 버전의 net/phy 드라이버 존재 여부 확인. 드라이버가 있으면 보안 패치 적용 상태를 커널 changelog에서 검증

Shell / Script
uname -r | awk '{print $1}' && grep -l 'phy_get_internal_delay' /lib/modules/$(uname -r)/kernel/drivers/net/phy/*.ko 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel