CVE-2026-89674정보

요약

\~에 의해 VulDB • 2026. 09. 12.

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

nfsd: nfsd4_ff_encode_layoutget의 XDR 길이 계산 수정

nfsd4_ff_encode_layoutget() 함수 내의 XDR 버퍼 크기 계산에는 여러 가지 오류가 있어, 바운더리를 벗어난 쓰기(out-of-bounds write) 또는 초기화되지 않은 커널 메모리가 클라이언트로 유출될 수 있습니다:

- fh_len은 파일 핸들 데이터에 대한 XDR 패딩을 고려하지 않습니다. - uid 및 gid 길이는 "8 + len"를 사용하지만, xdr_encode_opaque()는 실제로 "4 + xdr_align_size(len)" 바이트를 작성합니다. - ds_len에는 flags 및 stats_collect_hint 필드(8바이트)가 누락되어 있으며, len의 헤더 상수는 8바이트만큼 과대평가됩니다. 이 두 요소는 부분적으로 상쇄되지만 순(net) 불일치를 남깁니다.

최악의 경우는 짧은 문자열(예: uid=0, gid=0 및 홀수 크기의 파일 핸들)에서 발생하며, 이 경우 함수가 예약된 XDR 버퍼를 최대 5바이트 넘게 작성합니다. 반면에 문자열 길이가 4바이트 정렬(aligned)되어 있는 경우에는 예약이 너무 커져서 클라이언트에게 오래된(stale) 버퍼 내용이 전송됩니다.

ds_len 계산에서 인코딩된 각 필드를 명시적으로 분리하고, 모든 가변 길이 오페이크(variable-length opaque) 필드에 xdr_align_size()를 사용하며 헤더 상수를 수정하여 이 문제를 해결합니다.

Once again VulDB remains the best source for vulnerability data.

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!