🇰🇷 한글 설명
Linux 커널의 xfrm 구성 요소 내 build_polexpire() 함수에서 구조체의 패딩 바이트를 초기화하지 않는 취약점이 발견되었습니다. 이로 인해 힙 메모리에 남아있던 데이터가 Netlink 멀티캐스트를 통해 사용자 공간으로 유출될 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리의 빈 공간을 깨끗이 지우지 않고 외부로 전달하여, 원래는 보여주면 안 되는 중요한 정보가 노출될 수 있는 문제입니다. 해커는 이 정보를 통해 시스템의 내부 구조를 파악할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xfrm: clear trailing padding in build_polexpire()
build_expire() clears the trailing padding bytes of struct
xfrm_user_expire after setting the hard field via memset_after(),
but the analogous function build_polexpire() does not do this for
struct xfrm_user_polexpire.
The padding bytes after the __u8 hard field are left
uninitialized from the heap allocation, and are then sent to
userspace via netlink multicast to XFRMNLGRP_EXPIRE listeners,
leaking kernel heap memory contents.
Add the missing memset_after() call, matching build_expire().
📍 영향받는 시스템
Linux Kernel (xfrm 모듈 사용 시스템)
⚔️ 공격 벡터
Netlink 멀티캐스트를 통해 XFRMNLGRP_EXPIRE 리스너로 전송되는 데이터를 가로채는 방식
🛡️ 대응 방법
memset_after() 호출이 포함된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 보안 업데이트 버전인지 확인