본문 바로가기

블로그

이스트시큐리티 보안 전문가의 전문 보안 블로그입니다.

작성일시: 2026. 11. 02. 18:09


안녕하세요

이스트시큐리티 시큐리티대응센터(ESRC) 입니다.

생성형 AI 제작 이미지


리눅스 커널의 IPv4 TCP 연결 처리 과정에서 인증 없이 원격에서 악용 가능한 메모리 해제 후 재사용(Use-After-Free) 취약점(CVE-2026-98432)이 공개되어, Red Hat, Debian, SUSE,  Oracle Linux, Amazon Linux 등 주요 리눅스 배포판이 보안 업데이트를 배포하고 있으며(Ubuntu는 11월 1일 기준 패치 준비 중), AWS는 자사 클라우드 서비스별 조치사항을 담은 보안 공지를 발표했습니다.

 

이 취약점은 TCP 연결을 맺는 3-way 핸드셰이크 단계, 즉 애플리케이션의 인증이 이루어지기 전에 발생합니다. 따라서 웹 서버, SSH, 데이터베이스, 로드밸런서, 쿠버네티스 노드 등 IPv4 TCP 연결을 받는 리눅스 커널 4.4 이상의 시스템이라면 대부분 영향 범위에 포함됩니다. 리눅스 커널 CNA는 CVSS 3.1 기준 9.8(Critical)로 평가했으며, Red Hat도 2026년 10월 30일 심각도를 Important에서 Critical(9.8)로 상향했습니다.

 

특히 이 취약점을 제보한 Anthropic은 MPTCP(Multipath TCP) 리스너가 동작하는 서버에서 인증 없이 root 권한으로 임의 명령을 실행하는 실험용 익스플로잇을 구현했다고 밝혔으며, 이 익스플로잇은 연구자의 초기 프롬프트를 받은 미공개 Claude 연구 모델이 작성했다고 설명했습니다.

익스플로잇 코드는 공개되지 않았으나, GitHub에 해당 CVE 관련 저장소가 잇따라 등장하고 있고 일부는 경쟁 상태(Race Condition) 트리거 코드나 개념 증명(PoC)을 포함한다고 주장하고 있어, 신속한 커널 보안 업데이트 적용을 권고 드립니다.

 

 

취약점 개요

CVE
CVE-2026-98432
영향 컴포넌트
Linux Kernel - IPv4 TCP 연결 처리(핸드셰이크)
net/ipv4/af_inet.c, net/ipv4/tcp_ipv4.c
취약점 유형
IPv4 옵션 메모리의 해제 후 재사용(Use-After-Free)으로 인증 없이 원격에서 트리거 가능
커널 CNA 레코드에는 CWE 미지정, Red Hat은 CWE-825(Expired Pointer Dereference)로 분류
심각도
Critical (CVSS v3.1 9.8)
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

리눅스 커널 CNA·Red Hat 기준. Ubuntu: High / SUSE: Important / Oracle·Amazon: Important(8.1)
영향 대상
리눅스 커널 4.4 이상이며 패치 버전 미만인 모든 시스템
(5.10.272 / 5.15.223 / 6.1.190 / 6.6.159 / 6.12.113 / 6.18.56 / 7.2.10 / 7.3-rc7 미만)
실제 악용
실제 악용 사례 보고 없음 (2026. 11. 01. 기준, AWS 미인지 / CISA KEV 미등재)
Anthropic 실험용 익스플로잇 존재(미공개), GitHub에 PoC 포함을 주장하는 저장소 등장(실제 공격 가능성 미검증)
조치
배포판에서 제공하는 패치된 커널 설치 후 반드시 재부팅
즉시 패치가 어려운 경우 IPv4 옵션 포함 패킷 차단 등 임시 완화 조치 적용


■ 사용자 권고 사항

  • 사용 중인 리눅스 서버의 커널 버전(uname -r)을 확인하고, 배포판의 보안 권고문과 비교합니다.
  • 패치된 커널을 설치한 뒤 반드시 재부팅합니다. 커널 패키지만 설치하고 재부팅하지 않으면 취약한 커널이 계속 동작합니다.
  • 컨테이너는 호스트의 커널을 공유하므로, 컨테이너 이미지가 아닌 호스트(쿠버네티스 노드 포함)의 커널을 업데이트해야 합니다.
  • 즉시 패치가 어려운 경우 IPv4 옵션이 포함된 TCP 패킷을 차단하는 방화벽 규칙을 임시로 적용합니다.
  • MPTCP가 필요하지 않다면 비활성화를 검토합니다. 단, 이는 공격 표면을 줄이는 조치일 뿐 근본적인 해결책은 아닙니다.



취약점 발생 원인

 

리눅스 커널은 TCP 연결 요청(SYN)을 받으면 핸드셰이크가 끝나기 전까지 가벼운 '요청 소켓(Request Socket)'으로 연결 상태를 관리하고, 핸드셰이크가 완료되면 정식 소켓(자식 소켓)을 생성합니다. 이때 상대방이 보낸 IPv4 헤더에 옵션(Record Route, Timestamp 등)이 포함되어 있으면, 커널은 응답 패킷에 이를 반영하기 위해 옵션 데이터를 별도 메모리에 저장해 둡니다.

문제는 이 옵션 데이터가 요청 소켓(ireq_opt)에서 자식 소켓(inet_opt)으로 복사되지 않고 포인터만 넘겨진 채, 소켓이 소멸될 때 일반 kfree()로 즉시 해제된다는 점입니다. 그 사이 다른 CPU에서는 재전송된 SYN을 처리하며 같은 옵션 데이터를 RCU 읽기 잠금만 건 상태로 읽고 있을 수 있어, 이미 해제된 메모리를 참조하는 Use-After-Free가 발생합니다.

 

단계
동작
① 연결 요청 수신
공격자가 IPv4 옵션을 포함한 SYN 전송 → 요청 소켓에 옵션 데이터(ireq_opt) 저장
② 자식 소켓 생성
tcp_v4_syn_recv_sock()이 ireq_opt를 복사 없이 자식 소켓의 inet_opt로 이전
③ 동시 SYN 재전송 처리
다른 CPU에서 tcp_check_req()가 SYN-ACK 재전송 → tcp_v4_send_synack(), inet_csk_route_req()가 rcu_read_lock()만 걸고 옵션 데이터 참조
④ 메모리 해제
연결 종료 시 inet_sock_destruct() / tcp_v4_reqsk_destructor()가 RCU 유예 기간 없이 kfree()로 즉시 해제
⑤ 해제된 메모리 사용
ip_build_and_send_pkt(), ip_options_build()가 해제된 옵션 데이터의 optlen을 두 번 읽음 → 커널 힙 정보 유출·메모리 손상·커널 크래시

[표 1] CVE-2026-98432 발생 흐름

 

패치(커밋 e3f33b0a1d89)는 두 소멸자 함수의 kfree()를 kfree_rcu()로 바꿔, 다른 CPU의 RCU 읽기가 모두 끝난 뒤(RCU 유예 기간 이후) 메모리를 해제하도록 수정한 4줄 규모의 변경입니다. 커널 CVE 설명에 따르면 이 경쟁 구간은 커밋 079096f103fa("tcp/dccp: install syn_recv requests into ehash table") 이후부터 존재했습니다.

 

 

영향 및 공격 시나리오


공격 조건
인증 불필요. 취약한 커널이 동작하며 IPv4 TCP 연결을 수신하는 포트에 네트워크로 접근할 수 있으면 공격 가능
트리거 방식
IPv4 옵션(Record Route, Timestamp 등)을 포함한 SYN 패킷을 전송해 경쟁 상태 유발

경쟁에 실패해도 해당 핸드셰이크만 실패할 뿐 시스템이 다운되지 않아, 공격자는 성공할 때까지 반복 시도 가능
발생 가능한 피해
커널 힙 메모리 내용 유출, 커널 메모리 손상, 시스템 크래시(DoS)
Red Hat은 원격 코드 실행(RCE) 가능성도 언급
효과가 제한적인 방어
컨테이너 이미지 업데이트, MPTCP 비활성화

컨테이너는 호스트 커널을 공유하므로 이미지 교체로 해결되지 않으며, MPTCP 비활성화는 Anthropic이 공개한 공격 조건만 제거할 뿐 취약점 자체를 해결하지 않음

 

리눅스 시스템이 공격에 노출되는 대표적인 환경은 다음과 같습니다.

 

환경
노출 조건
위험도
① 인터넷 노출 TCP 서비스
웹, SSH, 메일, DB 등 IPv4 TCP 포트를 인터넷에 직접 개방한 리눅스 서버
높음
② MPTCP 리스너 동작 서버
Anthropic 익스플로잇의 공격 대상. Go 1.24 이상으로 빌드된 프로그램은 기본적으로 MPTCP 리스너를 생성 (ss -Mlnp로 확인)
높음
③ 컨테이너 호스트·쿠버네티스 노드
컨테이너는 호스트 커널을 공유하므로, 컨테이너로 노출된 TCP 서비스도 호스트 커널 취약점의 영향을 받음
높음
④ 로드밸런서·프록시 뒤 서버
외부 TCP 연결이 로드밸런서에서 종료되는 구조(예: AWS ALB, CloudFront)는 상대적으로 노출이 적으나, TCP를 그대로 전달하는 NLB 등은 백엔드까지 영향
중간

 

 

영향 받는 버전 및 패치 버전

 

■ 리눅스 커널(업스트림)


커널 계열
영향 받는 버전
패치 버전
7.3
7.3-rc7 미만
7.3 (정식 릴리스)
7.2
7.2.10 미만
7.2.10 이상
7.2 계열은 11월 1일 7.2.15를 끝으로 지원 종료
6.18
6.18.56 미만
6.18.56 이상
6.12
6.12.113 미만
6.12.113 이상
6.6
6.6.159 미만
6.6.159 이상
6.1
6.1.190 미만
6.1.190 이상
5.15
5.15.223 미만
5.15.223 이상
5.10
5.10.272 미만
5.10.272 이상
4.4 ~ 5.4
전 버전
업스트림 패치 없음 - 배포판 패치로만 해결

[표 2] 리눅스 커널 영향 받는 버전 및 패치 버전

 

※ 위 버전은 Linux 업스트림 커널 기준이며, RHEL, Ubuntu, Debian 등 배포판은 기존 커널에 보안 패치를 백포트할 수 있으므로 업스트림 버전 번호만으로 취약 여부를 판단해서는 안 됩니다.

 

■ 주요 배포판 패치 현황 (2026. 11. 01. 기준)

 

배포판
패치 현황
Red Hat (RHEL)
RHEL 8.10: kernel-4.18.0-553.182.1.el8_10 (RHSA-2026:93414, kernel-rt RHSA-2026:93415)
RHEL 9.8: kernel-5.14.0-687.64.1.el9_8 (RHSA-2026:93412, kernel-rt 포함)
RHEL 10.2: kernel-6.12.0-211.72.1.el10_2 (RHSA-2026:93413, kernel-rt 포함)

OpenShift 4·5(RHEL CoreOS), RHEL for NVIDIA는 영향 받음으로 표시. RHEL 6·7은 영향 없음.보안 공지 RHSB-2026-016 참고. Red Hat CVE 페이지에는 11월 1일 기준 RHEL 9 kernel-rt가 'Affected'로 표시되어 있으나, RHSA-2026:93412 에라타에는 kernel-rt-5.14.0-687.64.1.el9_8 패키지가 포함되어 있음(공식 페이지 갱신 지연으로 추정). 에라타의 패키지 목록 기준으로 확인 권장
Ubuntu
미패치(작업 중)
26.10: 7.3.0-10.10 / 26.04 LTS: 7.0.0-43.43 / 24.04 LTS: 6.8.0-149.149 / 22.04 LTS: 5.15.0-203.213 (작업 중 버전)

20.04·18.04·16.04 LTS는 Vulnerable. 14.04 LTS 기본 커널(3.13)은 영향 없음 (단, 4.4 HWE 커널(linux-lts-xenial)과 linux-aws·linux-azure 커널 사용 시 취약). linux-aws, linux-azure, linux-gcp 등 클라우드 커널도 동일하게 작업 중
Debian
12 (bookworm): 6.1.190-1 (DLA-4841-1), linux-6.12 6.12.113-1~deb12u1 (DLA-4850-1)
13 (trixie): 6.12.113-1 (DSA-6568-1)
SUSE
SLES 16.0: kernel-default 6.12.0-160000.40.1, SLES 15 SP4/SP5/SP6 LTSS 패치 완료
SLES 15 SP7 작업 중, openSUSE Leap 16.0 패치 완료 / Leap 15.6 영향 받음
Oracle Linux
UEK 에라타 배포 (ELSA-2026-500397, ELSA-2026-500398, ELSA-2026-500399)
Amazon Linux
AL2023: ALAS2023-2026-3251 (kernel6.18), ALAS2023-2026-3335 (kernel6.12), ALAS2023-2026-3365 (kernel)
AL2: ALAS2-2026-4065, ALAS2KERNEL-5.4-2026-135, ALAS2KERNEL-5.10-2026-137, ALAS2KERNEL-5.15-2026-120
AlmaLinux
테스트 저장소에 패치 커널 배포 중 (kernel-4.18.0-553.180.2.el8_10, kernel-5.14.0-687.61.2.el9_8, kernel-6.12.0-211.69.2.el10_2)

[표 3] 주요 리눅스 배포판 패치 현황

 

 

조치 방법

 

① 사용 중인 커널 버전 확인


• 실행 중인 커널 버전 확인

uname -r
uname -v
• 설치된 커널 패키지 확인
# Debian / Ubuntu
dpkg -l 'linux-image*' | grep ^ii

# RHEL / Rocky / AlmaLinux / Amazon Linux
rpm -q kernel
확인한 버전을 [표 4]의 배포판 패치 버전과 비교합니다. 컨테이너 내부가 아닌 호스트와 쿠버네티스 노드에서 확인해야 하며, 패치 커널을 설치했더라도 재부팅 전이라면 uname -r에는 이전 커널 버전이 표시됩니다.

 

② 보안 업데이트 적용


설치 환경
업데이트 방법
조치 필요 여부
RHEL / Rocky / AlmaLinux
sudo dnf update kernel 후 sudo reboot

needs-restarting -r 명령으로 재부팅 필요 여부 확인 가능. AlmaLinux는 11월 1일 기준 테스트 저장소에서만 제공
필요
Debian / SUSE / Oracle Linux
각 배포판 보안 권고문의 패치 커널 설치 후 재부팅 ([표 4] 참고)
필요
Ubuntu
패치 배포 시 sudo apt update && sudo apt full-upgrade 후 sudo reboot
패치 대기
배포 전까지 ③ 임시 조치 적용
Amazon Linux 2
sudo yum update kernel && sudo reboot
필요
Amazon Linux 2023
sudo dnf update kernel --releasever=latest && sudo reboot

특정 릴리스로 고정한 인스턴스는 2023.12.20261102 이상 릴리스를 사용해야 함
필요
컨테이너 / 쿠버네티스
컨테이너 이미지가 아닌 호스트·노드의 커널을 업데이트 후 재부팅 (관리형 서비스는 패치된 노드 이미지로 교체)
필요
이미지 재빌드만으로는 해결 안 됨

 

커널 업데이트는 재부팅해야 적용되므로 서비스 영향을 고려해 진행하시기 바랍니다. 재부팅 후 다시 커널 버전을 확인해 패치 버전으로 변경되었는지 점검합니다.

 

③ 즉시 패치가 어려운 경우 임시 완화 조치

※ 아래 조치는 패치 적용 전까지 위험을 줄이기 위한 임시 방편이며, 실제 익스플로잇에 대한 차단 효과가 검증되지 않았습니다. 커널 업데이트 및 재부팅만이 완전한 해결책입니다.

조치 항목
설정 방법
주의 사항
IPv4 옵션 포함 패킷 차단 (nftables)
nft add table ip cve_2026_98432
nft add chain ip cve_2026_98432 pre '{ type filter hook prerouting priority -300; }'
nft add rule ip cve_2026_98432 pre meta l4proto tcp ip hdrlength gt 5 counter drop
재부팅 시 초기화됨. 제거: nft delete table ip cve_2026_98432
CIPSO 보안 레이블 사용 네트워크에서는 적용 금지
IPv4 옵션 포함 패킷 차단 (iptables)
iptables -t raw -I PREROUTING -p tcp -m u32 --u32 "0>>24&0xF=6:15" -j DROP
xt_u32 모듈 필요 (RHEL 9·10 커널에는 없음)
재부팅 시 초기화되므로 별도 저장 필요
MPTCP 비활성화
sudo sysctl -w net.mptcp.enabled=0
영구 적용: /etc/sysctl.d/90-disable-mptcp.conf에 net.mptcp.enabled = 0 추가
Go 프로그램: 실행 시 환경 변수 GODEBUG=multipathtcp=0 또는 빌드 시 메인 모듈 go.mod에 godebug multipathtcp=0 지정
이미 생성된 MPTCP 리스너는 서비스를 재시작해야 해제됨
MPTCP 공격 경로만 제거할 뿐 취약점 자체는 해결되지 않음

[표 4] CVE-2026-98432 임시 완화 조치

 

※ IPv4 옵션은 정상적인 인터넷 트래픽에서는 거의 사용되지 않지만, 내부망에서 IP 옵션을 사용하는 장비·서비스가 있다면 차단 규칙 적용 전 영향을 확인하시기 바랍니다.

 

 

침해 여부 확인 및 조치 방안


점검 항목
확인 내용
커널 버전
uname -r 결과가 배포판 패치 버전 미만인지, 패치 설치 후 재부팅을 하지 않았는지 확인
MPTCP 리스너
ss -Mlnp 결과가 비어 있지 않으면 MPTCP 리스너가 동작 중 (고위험)
MPTCP 활성화 여부
sysctl net.mptcp.enabled 값이 1이면 애플리케이션이 MPTCP 소켓을 생성할 수 있음
요청 소켓 마이그레이션
sysctl net.ipv4.tcp_migrate_req 값이 1이면 마이그레이션 경로도 영향 범위에 포함
외부 노출 서비스
인터넷에서 직접 접근 가능한 TCP 포트(웹, SSH, DB 등) 목록 점검 및 불필요한 포트 차단

 

• 점검 명령 예시

uname -r
ss -Mlnp
sysctl net.mptcp.enabled net.ipv4.tcp_migrate_req
※ 현재까지 이 취약점의 악용 흔적을 식별할 수 있는 공식 침해 지표(IoC)나 탐지 시그니처는 공개되지 않았습니다. 원인을 알 수 없는 커널 패닉·재부팅이 반복된다면 커널 로그를 보존하고 패치를 우선 적용하시기 바랍니다.

 

 

참고 용어


용어
설명
Use-After-Free (UAF)
이미 해제된 메모리를 프로그램이 계속 참조·사용하면서 발생하는 메모리 손상 취약점
RCU
Read-Copy-Update. 읽기 작업에 잠금을 최소화하는 리눅스 커널의 동기화 기법. 데이터를 읽는 쪽이 모두 끝날 때까지(유예 기간) 메모리 해제를 미룸
kfree / kfree_rcu
kfree: 커널 메모리를 즉시 해제하는 함수 / kfree_rcu: RCU 유예 기간이 지난 뒤 메모리를 해제하는 함수
요청 소켓
Request Socket. TCP 3-way 핸드셰이크가 완료되기 전까지 연결 요청 상태를 관리하는 경량 소켓 구조체
IPv4 옵션
IPv4 헤더에 선택적으로 추가되는 필드(Record Route, Timestamp 등). 옵션이 있으면 헤더 길이(IHL)가 5(20바이트)보다 커짐
MPTCP
Multipath TCP. 하나의 TCP 연결에 여러 네트워크 경로(예: Wi-Fi와 LTE)를 동시에 사용하는 TCP 확장 기술
CNA
CVE Numbering Authority. CVE 번호를 부여할 권한을 가진 기관. 리눅스 커널 취약점은 커널 CNA가 직접 CVE를 발급