CVE-2026-46130 in Linux정보

요약

\~에 의해 VulDB • 2026. 05. 28.

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

dm-verity-fec: 블록 간에 분할된 패리티 바이트 읽기 수정 (3차 버전)

fec_decode_bufs() 함수는 디코딩하는 첫 번째 RS 부호화 단어의 패리티 바이트가 패리티 블록 간에 분할되지 않는다고 가정합니다.

하지만 이 가정은 잘못되었습니다. 예를 들어 v->fec->block_size == 4096 && v->fec->roots == 17 && fio->nbufs == 1인 경우를 고려해 보세요. 이 경우 fec_decode_bufs() 호출마다 v->fec->roots * (fio->nbufs << DM_VERITY_FEC_BUF_RS_BITS) = 272개의 패리티 바이트가 소모됩니다.

각 메시지 블록의 패리티 데이터가 블록 경계에서 시작한다는 점을 고려하면, 패리티 데이터 내의 바이트 정렬은 272*i mod 4096으로 반복되며 3개의 패리티 블록이 모두 소모될 때까지 진행됩니다. 16번째 호출(i=15) 시 정렬은 첫 번째 블록 내에서 4080바이트 지점이 됩니다. 해당 블록에는 16바이트만 남아있지만, 17개의 패리티 바이트가 필요합니다. 이로 인해 코드는 패리티 블록 버퍼의 범위를 벗어난(out-of-bounds) 데이터를 읽게 됩니다.

다행히 이는 일반적으로 발생하지 않습니다. 이는 fec_roots의 특정 비기본값(non-default) 값과 메모리가 부족하여 최대 버퍼 수를 할당할 수 없는 경우에만 발생할 수 있기 때문입니다. 예를 들어 block_size=4096인 경우 다음 경우들만 영향을 받습니다:

fec_roots=17: nbufs in [1, 3, 5, 15]
fec_roots=19: nbufs in [1, 229]
fec_roots=21: nbufs in [1, 3, 5, 13, 15, 39, 65, 195]
fec_roots=23: nbufs in [1, 89]

어쨌든 패리티 블록 읽기 방식을 리팩토링하여 이를 수정합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 05. 13.

모더레이션

수락

항목

VDB-366625

EPSS

0.00024

출처

Want to know what is going to be exploited?

We predict KEV entries!