CVE-2026-31402
nfsd: NFSv4.0 LOCK 재생 캐시의 힙 오버플로 수정
- 게시됨
- 2026. 4. 3.
- 업데이트됨
- 2026. 9. 8.
- CNA 할당 중
- Linux
- 증거 관찰됨
- 2026. 8. 19.
nfsd: NFSv4.0 LOCK 재생 캐시의 힙 오버플로 수정
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H낮음 · 다음 30일
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
Linux 커널에서 다음 취약점이 해결되었습니다: nfsd: NFSv4.0 LOCK 재생 캐시의 힙 오버플로우 수정 NFSv4.0 재생 캐시는 고정 112바이트 인라인 버퍼(rp_ibuf[NFSD4_REPLAY_ISIZE])를 사용하여 인코딩된 작업 응답을 저장합니다. 이 크기는 OPEN 응답을 기준으로 계산되었으며, 충돌하는 잠금 소유자를 최대 1024바이트(NFS4_OPAQUE_LIMIT)의 가변 길이 필드로 포함하는 LOCK 거부 응답을 고려하지 않습니다. LOCK 작업이 큰 소유자를 가진 기존 잠금과의 충돌로 인해 거부되면, nfsd4_encode_operation()은 read_bytes_from_xdr_buf()를 통해 경계 검사 없이 전체 인코딩된 응답을 크기가 부족한 재생 버퍼에 복사합니다. 이로 인해 버퍼 끝을 넘어 최대 944바이트의 slab-out-of-bounds 쓰기가 발생하여 인접한 힙 메모리가 손상됩니다. 이는 인증되지 않은 공격자가 두 개의 협력하는 NFSv4.0 클라이언트를 사용하여 원격으로 트리거할 수 있습니다. 하나는 큰 소유자 문자열로 잠금을 설정하고, 다른 하나는 충돌하는 잠금을 요청하여 거부를 유발합니다. 전체 불투명 값을 허용하도록 NFSD4_REPLAY_ISIZE를 늘려 이 문제를 해결할 수 있지만, 대부분의 잠금 소유자가 그렇게 크지 않은데도 모든 상태 소유자의 크기가 증가하게 됩니다. 대신, 재생 버퍼에 복사하기 전에 인코딩된 응답 길이를 NFSD4_REPLAY_ISIZE와 비교하여 확인하는 방식으로 수정합니다. 응답이 너무 크면 rp_buflen을 0으로 설정하여 재생 페이로드 캐싱을 건너뜁니다. 상태는 여전히 캐시되며, 클라이언트는 원래 요청에서 이미 올바른 응답을 받았습니다.
CVE-2026-31402
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.