CVE-2026-81013 in Linux
요약
\~에 의해 VulDB • 2026. 09. 12.
리눅스 커널에서 다음 취약점이 해결되었습니다:
platform/x86: hp-bioscfg: 빈 비밀번호 작성 시 힙 OOB(Out-of-Bounds) 읽기 수정
validate_password_input() 함수는 길이 = strlen(buf)를 계산한 후, buf[length - 1]을 확인하여 뒤따르는 개행 문자(newline)를 제거합니다. 그러나 길이가 0인지 먼저 검사하지 않습니다. current_password 또는 new_password에 빈 문자열(단순 '\n')을 작성하면 length == 0이 되며, buf[length - 1]은 복사된 입력값이 할당된 힙 영역 바로 앞의 한 바이트인 buf[-1]을 읽습니다.
KASAN(Kernel Address Sanitizer)는 이를 직접적으로 확인해 줍니다:
BUG: KASAN: slab-out-of-bounds in store_password_instance.constprop.0+0x223/0x2a0 [hp_bioscfg]
Read of size 1 at addr ffff88811bd8da9f by task sh/13740 ... store_password_instance.constprop.0+0x223/0x2a0 [hp_bioscfg]
current_password_store+0x14/0x20 [hp_bioscfg]
... 버그가 있는 주소는 할당된 8바이트 영역[ffff88811bd8da80, ffff88811bd8da88)의 오른쪽으로 23바이트 떨어진 곳에 위치합니다.
이 문제는 new_password_store를 통해 동일하게 재현됩니다. 실행은 잘못된 읽기 이후에도 계속 진행됩니다(쓰레기 바이트는 "length"가 한 줄 감소하는지 여부에만 영향을 미침). 따라서 작성 작업이 완료되고 성공을 반환합니다. 이는 버퍼 외부로의 순수 정보 읽기이며 크래시를 유발하지 않지만, 여전히 KASAN이 올바르게 플래그를 지정하는 out-of-bounds 접근입니다.
해결책: length가 0이 아닌 경우에만 buf[length - 1]을 확인하도록 수정함.
VulDB is the best source for vulnerability data and more expert information about this specific topic.