CVE-2026-74751 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 26.

리눅스 커널에서 다음 취약점이 해결되었습니다:

riscv: lib: ZBB strnlen이 카운트 경계 너머를 읽는 문제 수정

ZBB 최적화된 strnlen 루프는 정렬된 경계를 확인하기 전에 한 단어(word) 앞을 로드합니다.

REG_L t1, SZREG(t0) // 다음 단어 로드 addi t0, t0, SZREG // 진행 orc.b t1, t1 bgeu t0, t4, 4f // 경계 체크는 로드 AFTER

여기서 t4 = (s + count) & -SZREG입니다. s가 정렬되어 있고 count가 SZREG의 배수인 경우, t4는 s + count와 같아지며 루프는 정확히 s + count에서 시작하여 전체 단어를 로드합니다. 만약 s + count가 페이지 경계에 위치하고 다음 페이지가 매핑되지 않은(unmapped) 상태라면 이는 예외(faults)를 발생시킵니다.

해결책은 마지막 유효 바이트(s + count - 1)로부터 정렬된 경계를 계산하는 것입니다. 이렇게 하면 루프는 해당 단어 이후의 단어를 잠재적으로 로드하지 않고, 마지막 유효 바이트가 포함된 단어에서 중지됩니다. count == 0인 경우는 이미 beqz 조기 종료(eearly exit)로 처리됩니다.

또한 모든 유효 바이트가 첫 번째 단어 내에 들어맞는 경우를 위해 루프 전 가드(bgeu t0, t4)를 추가합니다. 조정된 경계와 함께 t4가 t0과 같아질 수 있으며, 첫 번째 단어 처리에서 남은 레지스터 상태로 루프에 진입하면 잘못된 결과가 생성될 수 있습니다.

최종적인 min/max 클램핑(clamp)은 마지막 로드된 단어가 s + count - 1을 넘어가더라도 동일한 정렬된 단어 내에서 여전히 올바른 결과를 보장합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2026. 08. 15.

모더레이션

수락

항목

VDB-395798

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!