CVE-2026-45843 in Linux
요약
\~에 의해 VulDB • 2026. 05. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
slip: 압축된 패킷 길이에 대해 decode() 읽기를 제한함
slhc_uncompress()는 decode()와 pull16()을 통해 포인터를 패킷 내에서 이동시키며 VJ 압축된 TCP 헤더를 파싱합니다. 두 헬퍼 함수 모두 isize에 대한 경계 검사(bound-check)를 수행하지 않으며, decode()는 반환값을 & 0xffff로 마스크하므로 호출자가 테스트하는 -1을 절대 반환할 수 없습니다. 따라서 해당 오류 처리 경로는 데드 코드(dead code)입니다.
선택적 필드를 요청하는 변경 바이트(change byte)를 가진 짧은 압축 프레임의 경우, decode()가 패킷 끝을 넘어 읽을 수 있습니다. 초과 읽기된 바이트는 캐시된 cstate에 합쳐지고 이후 재구성된 패킷에 반영됩니다.
decode()와 pull16()이 패킷 끝 포인터를 인자로 받도록 하고, 소진되었을 때 -1을 반환하도록 합니다. TCP 체크섬 읽기 전에 경계 검사를 추가합니다. 기존 == -1 테스트는 이제 원래 의도했던 대로 동작합니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.