# # FreeBSD의 CVE-2026-4247 취약점: TCP Challenge ACK 처리 중 mbuf 누출
FreeBSD 팀은 2026년 3월 26일 CVE-2026-4247의 세부 사항을 발표했습니다—TCP 연결에서 mbuf 누출을 통해 원격 DoS 공격을 가능하게 하는 취약점입니다. 이 문제는 확립된 연결에서 예상치 못한 TCP 세그먼트를 처리하는 부분에 영향을 줍니다.
TCP 프로토콜은 예상치 못한 패킷을 받았을 때 이를 확인하기 위해 Challenge ACK를 생성합니다. 생성 속도는 sysctl 매개변수로 제한됩니다: net.inet.tcp.ack_war_timewindow (기본값 1000 ms) 및 net.inet.tcp.ack_war_cnt (5). 이 구간 내에서 처음 5개의 패킷만 처리되며 나머지는 무시됩니다.
tcp_subr.c의 tcp_respond() 함수는 Challenge ACK를 생성하며 mbuf를 소비합니다. ACK가 필요 없을 경우 mbuf는 해제됩니다. 공격자가 패킷을 위장하면 제한을 초과한 패킷당 하나씩 mbuf 손실이 발생합니다.
모든 FreeBSD TCP 스택이 취약합니다: 기본 스택, RACK, BBR. 기본 스택은 더 많은 ACK를 보내 효과를 증폭시킵니다.
공격 벡터 및 활용 조건
다음 조건에서 공격이 가능합니다:
- TCP 연결 경로 상에 위치(MITM).
- 대상에 자신의 연결을 확립.
외부 공격자는 위장(spoofing)을 위해 IP 주소, 포트, 시퀀스 번호를 추측해야 합니다. 복잡성 때문에 성공률이 낮습니다.
제한(5개/초)을 초과한 각 위장 패킷이 mbuf 누출을 일으켜 풀을 고갈시켜 DoS를 유발합니다.
임시 보호 조치
ACK 속도 제한을 비활성화하세요:
sysctl net.inet.tcp.ack_war_timewindow=0
/etc/sysctl.conf에 추가하여 영속화하세요.
이 방법은 누출을 없애지만 모든 패킷을 처리하므로 CPU 부하가 증가합니다.
영구 패치 및 브랜치
패치가 적용된 브랜치로 업데이트하세요 (커밋 및 리비전):
- stable/15/ 1fddb5435315 (stable/15-n282699)
- releng/15.0/ de9e5d82581e (releng/15.0-n281011)
- stable/14/ b45e7530ffb9 (stable/14-n273839)
- releng/14.4/ 44dd8b58394b (releng/14.4-n273676)
- releng/14.3/ a9cba5321021 (releng/14.3-n271476)
FreeBSD 릴리스 일정
FreeBSD 15.0은 2025년 12월 2일에 출시되었습니다. 브랜치 지원 기간이 4년으로 단축되었으며, 새로운 브랜치가 2년마다 나옵니다. 브랜치당 중간 릴리스는 6개월마다, 전체 사이클은 두 브랜치 병렬 개발로 3개월입니다.
FreeBSD 14.4—2026년 3월 10일. 14.x 브랜치는 32비트 플랫폼의 마지막입니다. FreeBSD 15+는 64비트 전용이며, 레거시 애플리케이션을 위한 COMPAT_FREEBSD32를 제공합니다.
주요 포인트
- TCP 패킷 위장으로 원격 활용 가능한 취약점, mbuf 고갈로 이어짐.
- 모든 FreeBSD TCP 스택에 영향; 기본 ACK 제한이 누출을 증폭시킴.
- 임시 수정:
sysctl net.inet.tcp.ack_war_timewindow=0(CPU 사용량과 트레이드오프). - stable/15, releng/15.0, stable/14, releng/14.x에 패치 적용.
- FreeBSD 14.x는 32비트 지원 종료를 의미; 64비트로 이전하세요.
— Editorial Team
아직 댓글이 없습니다.