🇰🇷 한글 설명
리눅스 커널의 브리지 네트워크 모듈에서 VLAN과 터널 ID의 범위 체크 시, 내림차순으로 입력된 값이 부호 없는 정수로 변환되면서 범위 검사를 우회하는 취약점이 발견되었습니다. 이로 인해 루프가 실행되지 않고 에러 변수가 초기화되지 않아 요청의 반환값이 예측 불가능해질 수 있습니다.
💡 쉬운 설명
네트워크 설정 시 숫자의 순서가 잘못 입력되면 시스템이 이를 제대로 검사하지 못하고 혼란을 겪는 문제입니다. 이로 인해 네트워크 설정 과정에서 예상치 못한 오류가 발생하거나 시스템 동작이 불안정해질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: bridge: Reject descending VLAN tunnel ranges
A pair of descending VLAN and tunnel IDs can pass the tunnel range span
check. The VLAN subtraction produces a negative int, which is converted
to unsigned when compared with the u32 tunnel ID subtraction. It can
therefore equal the wrapped tunnel ID delta.
The range loop then performs no iterations. Since the batched
notification handling added a post-loop error check, this leaves err
uninitialized and makes the request's return value unpredictable.
Reject descending VLAN ranges before comparing the spans. Valid
ascending and single-entry ranges remain unchanged, while malformed
descending ranges consistently return -EINVAL.
This issue was found by a static analysis checker and confirmed by
manual source review.
📍 영향받는 시스템
VLAN 및 터널링 기능을 사용하는 리눅스 커널 (패치 전 버전)
⚔️ 공격 벡터
조작된 VLAN 및 터널 ID 범위를 포함한 네트워크 설정 요청을 전송
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인