🇰🇷 한글 설명
Linux 커널의 netfilter ctnetlink 구성 요소에서 새로운 expectation 생성 시 사용자 공간에서 명시적으로 지정한 헬퍼를 무시하지 않아 발생하는 취약점입니다. 이로 인해 커널 메모리 경계를 벗어난 읽기 작업이 발생하여 커널 메모리 정보가 유출될 수 있습니다.
💡 쉬운 설명
해커가 특수한 명령을 보내 컴퓨터의 핵심 운영체제(커널) 메모리 영역을 몰래 읽어낼 수 있는 보안 약점입니다. 이 약점을 이용하면 시스템의 중요한 정보가 외부로 유출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
netfilter: ctnetlink: ignore explicit helper on new expectations
Use the existing master conntrack helper, anything else is not really
supported and it just makes validation more complicated, so just ignore
what helper userspace suggests for this expectation.
This was uncovered when validating CTA_EXPECT_CLASS via different helper
provided by userspace than the existing master conntrack helper:
BUG: KASAN: slab-out-of-bounds in nf_ct_expect_related_report+0x2479/0x27c0
Read of size 4 at addr ffff8880043fe408 by task poc/102
Call Trace:
nf_ct_expect_related_report+0x2479/0x27c0
ctnetlink_create_expect+0x22b/0x3b0
ctnetlink_new_expect+0x4bd/0x5c0
nfnetlink_rcv_msg+0x67a/0x950
netlink_rcv_skb+0x120/0x350
Allowing to read kernel memory bytes off the expectation boundary.
CTA_EXPECT_HELP_NAME is still used to offer the helper name to userspace
via netlink dump.
📍 영향받는 시스템
Linux Kernel (netfilter/ctnetlink 관련 모듈 사용 버전)
⚔️ 공격 벡터
사용자 공간(userspace)에서 netlink를 통해 조작된 ctnetlink expectation 메시지를 전송하여 커널 메모리 경계 외 읽기 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 ctnetlink의 헬퍼 검증 로직을 수정해야 합니다.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 보안 권고안과 비교합니다.