🔍 CVE-2026-53138

7.1
CVSS Score
HIGH
2026-06-25
2026-07-07 16:51
✅ 완료

🇰🇷 한글 설명

Linux 커널의 amd/display 드라이버에서 VBIOS 레코드 체인을 탐색할 때 종료 조건이 누락된 악성 이미지를 처리하면 무한 루프가 발생할 수 있습니다. 이로 인해 시스템 탐색 과정에서 과도한 반복 작업이 수행되거나 경계 밖의 메모리를 읽는 Out-of-bounds 읽기 취약점이 발생합니다.

💡 쉬운 설명

그래픽 카드 정보를 읽어오는 과정에서 잘못된 데이터가 들어오면 컴퓨터가 끝없이 계산을 반복하여 멈추거나 메모리 오류를 일으킬 수 있습니다. 이는 조작된 그래픽 카드 펌웨어를 통해 발생할 수 있는 문제입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Bound VBIOS record-chain walk loops [Why & How] All record-chain walk loops in bios_parser.c and bios_parser2.c use for(;;) and only terminate on a 0xFF record_type sentinel or zero record_size. A malformed VBIOS image missing the terminator record causes unbounded iteration at probe time, potentially hundreds of thousands of iterations with record_size=1. In the final iterations near the BIOS image boundary, struct casts beyond the 2-byte header validated by GET_IMAGE can also read out of bounds. Cap all 14 record-chain walk loops to BIOS_MAX_NUM_RECORD (256) iterations. The atombios.h defines up to 22 distinct record types and atomfirmware.h has 13. Assuming an average of less than 10 records per type (which is reasonable since most are connector- based) 256 is a generous upper bound. (cherry picked from commit 95700a3d660287ed657d6892f7be9ffc0e294a93)

📍 영향받는 시스템

Linux Kernel (drm/amd/display 드라이버 포함 버전)

⚔️ 공격 벡터

조작된 VBIOS 이미지를 시스템에 로드하여 커널의 레코드 탐색 루프를 무한 반복시키거나 메모리 경계를 넘어서 읽게 함

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 레코드 탐색 횟수에 제한(BIOS_MAX_NUM_RECORD)을 적용함

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 커밋(95700a3d660) 이후의 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel