🇰🇷 한글 설명
Linux 커널의 xfrm 서브시스템에서 IPSec SA 생성 시 selector family가 AF_UNSPEC인 경우 prefixlen 검증이 우회되는 취약점입니다. verify_newsa_info() 함수가 family 타입 변환 전에 검증하므로, AF_UNSPEC 선택자일 때 부적절한 prefixlen 값이 수용될 수 있습니다.
💡 쉬운 설명
리눅스의 암호화 통신 설정(IPSec)에서 주소 범위 검증이 누락되어 공격자가 잘못된 주소 범위로 보안 정책을 우회할 수 있습니다. 시스템 관리자 권한이 필요합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xfrm: validate new SA's prefixlen using SA family when sel.family is unset
This expands the validation introduced in commit 07bf7908950a ("xfrm:
Validate address prefix lengths in the xfrm selector.")
syzbot created an SA with
usersa.sel.family = AF_UNSPEC
usersa.sel.prefixlen_s = 128
usersa.family = AF_INET
Because of the AF_UNSPEC selector, verify_newsa_info doesn't put
limits on prefixlen_{s,d}. But then copy_from_user_state sets
x->sel.family to usersa.family (AF_INET). Do the same conversion in
verify_newsa_info before validating prefixlen_{s,d}, since that's how
prefixlen is going to be used later on.
📍 영향받는 시스템
Linux kernel versions without CVE-2024-50142 patch; IPSec/xfrm functionality enabled systems
⚔️ 공격 벡터
로컬 권한이 있는 사용자가 xfrm_userspi_info 인터페이스로 AF_UNSPEC selector와 과도한 prefixlen 값을 포함한 SA를 생성
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 xfrm prefixlen 검증 패치 적용
🔧 검증 코드
커널 버전을 확인하여 CVE-2024-50142 수정이 포함된 버전(일반적으로 6.6.39+, 6.10.8+)인지 확인합니다.
uname -r | grep -E 'validated version' || echo 'Update kernel to patched version'