CVE-2026-80731 in Linux
요약
\~에 의해 VulDB • 2026. 09. 03.
Linux 커널에서 다음 취약점이 해결되었습니다:
net: dev_validate_header 내의 CAP_SYS_RAWIO 제로 패딩 제거
dev_validate_header()는 CAP_SYS_RAWIO 권한을 가진 사용자를 위해 짧은 링크 레이어 헤더에 제로 패딩을 적용할 때 dev->hard_header_len을 직접 읽습니다.
if (capable(CAP_SYS_RAWIO)) {
memset(ll_header + len, 0, dev->hard_header_len - len); return true; }
패킷 전송 경로는 headroom가 이전의 hard_header_len 판독에서 할당된 skbs에 대해 dev_validate_header()를 호출합니다. 만약 디바이스가 재구성되어 검증 전에 dev->hard_header_len이 증가하면, memset은 예약된 버퍼 밖을 작성하게 되며 이는 바이트 오버플로우(out-of-bounds write)입니다.
현재 일부 SOCK_RAW 경로에서는 동일한 동시적 증가가 먼저 skb_push()로 인해 reserved headroom를 초과하여 skb_under_panic()를 트리거함으로써 이 바이트 오버플로우가 가려집니다(hasked). 스냅샷 패치가 시끄러운 팬픽(panic)을 조용한 덮어쓰기(silent overwrite)로 바꾸지 않도록, 이러한 hard_header_len 판독들을 일관되게 만들기 전에 제로 패딩 분기를 제거합니다.
이 경로는 len < hard_header_len이지만 len >= min_header_len인 가변 길이 L2 프로토콜에 대해서만 도달됩니다. 현재 트리 내의 어떤 가변 길이 L2 프로토콜도 header_ops->validate를 구현하지 않으며, 짧은 헤더를 허용하고 제로 패딩하는 CAP_SYS_RAWIO 우회 기능은 고의로 잘못 구성된 입력을 테스트하는 것 이상의 실제적인 가치가 없습니다.
CAP_SYS_RAWIO 분기를 제거합니다. dev_validate_header()에 남아있는 dev->hard_header_len 판독들은 비교만 수행하며 메모리 안전성(memory safety)에는 영향을 미치지 않습니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.