지식 Profitserver 서비스를 사용하기 위한 간단한 지침
본관 지식 리눅스 커널의 심각한 취약점(CVE-2026-98432): VPS에서 취약점을 확인하고 업데이트하는 방법

리눅스 커널의 심각한 취약점(CVE-2026-98432): VPS에서 취약점을 확인하고 업데이트하는 방법


2026년 10월, 리눅스 커널에서 심각한 취약점( CVE-2026-98432 )이 발견되었습니다. 이 취약점은 CVSS 척도에서 10점 만점에 9.8점으로 평가되었으며, 수신 IPv4 TCP 연결 처리 방식에 영향을 미칩니다. 특정 조건에서 공격자는 관리자의 조치나 비밀번호 입력 없이 원격으로 서버에 루트 권한으로 접속할 수 있습니다.

아래는 영향을 받는 사용자, 서버 확인 방법 및 서버 보호 방법입니다. 모든 명령은 루트 권한 또는 관리자 권한으로 실행됩니다. sudo.

취약점을 간략히 설명하자면 다음과 같습니다.

  • 무엇이다 : IPv4 TCP 연결을 설정하는 코드에서 경쟁 조건으로 인해 발생하는 use-after-free 버그가 발견되었습니다. 공격자는 특수하게 조작된 패킷을 열려 있는 모든 TCP 포트로 전송합니다.
  • 영향을 받는 알갱이: 리눅스 4.4 이후의 모든 버전, 즉 현재 출시된 거의 모든 배포판이 해당됩니다.
  • IPv6 주요 버그의 영향을 받지 않습니다.
  • 위협의 실제 정도: Antropic 연구진은 멀티패스 TCP(MPTCP)가 활성화된 서버에서 약 53분 만에 루트 권한을 획득하는 데 성공한 공격 기법을 시연했습니다. 해당 공격 코드는 공개되지 않았습니다.
  • 야생에서의 공격: 2026년 11월 1일 현재, 악용 사례는 보고되지 않았습니다. 따라서 업데이트를 미룰 이유가 아니라, 차분하게 진행할 수 있는 이유입니다.

Go 서비스는 별도의 위험을 수반합니다. Go 1.24 버전부터 Linux 서버 프로그램은 커널에서 허용하는 경우 기본적으로 MPTCP를 통해 포트를 수신합니다. 관리자는 자신의 서버가 이러한 연결을 허용하는지조차 모를 수 있습니다. 인기 있는 프로그램 중 하나인 Xray가 이러한 방식으로 작동하며, 개발자들은 이미 MPTCP를 기본적으로 비활성화하는 긴급 버전인 v26.10.31을 출시했습니다.

각 VPS는 자체 커널을 실행하므로 서버 내부의 커널을 직접 업데이트해야 합니다. 가상화 노드는 저희가 직접 업데이트합니다.

시스템 문제를 해결할 방법이 있나요?

2026년 11월 1일 기준 현황입니다. 수정 사항은 거의 매일 배포되고 있습니다. 최신 현황은 이 글 하단의 링크를 확인하세요.

시스템 Status 커널 수정됨
데비안 13 고정 linux 6.12.113-1
데비안 12 고정 linux 6.1.190-1
우분투 22.04, 24.04, 26.04 수정 작업 진행 중 아직은 안 돼요. 임시 보호 기능을 사용하세요.
AlmaLinux 8, 9, 10 테스트 저장소의 수정 사항 8: 4.18.0-553.180.2.el8_10
9: 5.14.0-687.61.2.el9_8
10: 6.12.0-211.69.2.el10_2
Rocky Linux, RHEL 8, 9, 10 아직 해결책이 없습니다 임시 보호 기능을 사용하십시오.
오라클 리눅스 7-10(UEK) 고정 표준 업데이트를 통해
SUSE/openSUSE Leap 16 고정 표준 업데이트를 통해

1단계. 현재 실행 중인 커널을 확인하세요.

현재 실행 중인 커널의 버전을 확인하세요:

uname -r

버전 번호만으로는 아무것도 알 수 없습니다. 배포판들은 기본 버전을 변경하지 않고 자체 커널에 수정 사항을 백포팅하기 때문입니다. 커널 패키지 변경 로그를 확인하는 것이 더 신뢰할 만합니다. 변경 로그에 CVE 번호가 언급되어 있다면 수정 사항이 이미 설치된 것입니다.

데비안과 우분투:

apt changelog linux-image-$(uname -r) 2>/dev/null | grep CVE-2026-98432

데비안에서는 uname -v 이 명령어는 실행 중인 커널의 전체 패키지 버전을 보여줍니다. 위 표와 비교해 보세요.

AlmaLinux, Rocky Linux, RHEL, Oracle Linux:

rpm -q --changelog kernel-core-$(uname -r) | grep CVE-2026-98432

명령어를 실행했을 때 아무것도 출력되지 않으면 실행 중인 커널이 취약한 것입니다.

다음으로, MPTCP를 통해 연결을 수락하는 서비스를 확인하십시오. 시연된 공격의 대상은 다음과 같은 서버들이었습니다.

ss -lnMp

출력이 비어 있으면 MPTCP 리스너가 없다는 의미입니다.

2단계. 수정된 커널을 설치합니다.

커널을 업데이트하기 전에 서버 백업 또는 스냅샷을 생성하십시오.

데비안 12 및 13

수정된 커널은 보안 저장소에 있습니다. 보안 저장소가 활성화되어 있는지 확인하십시오.

grep -r security.debian.org /etc/apt/sources.list /etc/apt/sources.list.d/

찾을 수 없으면 추가하세요. security.debian.org 릴리스용 저장소를 생성한 다음 시스템을 업데이트하세요.

apt update
apt full-upgrade
reboot

Ubuntu

수정된 커널은 아직 출시되지 않았습니다. 업데이트를 확인하세요.

apt update
apt list --upgradable | grep linux-image

서버가 Ubuntu Pro에 연결되어 있는 경우, 수정 계획을 확인할 수 있습니다.

pro fix CVE-2026-98432 --dry-run

수정 패치가 배포되면 설치하고 재부팅하십시오.

apt update
apt full-upgrade
reboot

그때까지는 3단계에서 설명한 임시 보호 조치를 반드시 적용하십시오.

AlmaLinux 8, 9, 10

수정된 커널은 현재 테스트 저장소에서만 사용할 수 있습니다. 프로덕션 서버에서 설치하는 데 문제가 없다면 설치하시고, 업데이트하기 전에 반드시 스냅샷을 생성하십시오.

dnf install -y almalinux-release-testing
dnf update 'kernel*' --enablerepo=almalinux-testing
dnf config-manager --disable almalinux-testing
reboot

재부팅 후 비교하세요 uname -r 위 표에 있는 버전을 사용하세요. 테스트 패키지를 설치하고 싶지 않다면 임시 보호 기능을 적용하고 수정 사항이 메인 저장소에 반영될 때까지 기다리세요.

Rocky Linux 및 기타 RHEL 기반 시스템

아직 해결책이 없습니다. 다음 방법으로 확인해 보세요:

dnf --refresh updateinfo info --all --cves CVE-2026-98432

수정 패치가 배포되면 다음과 같습니다.

dnf update kernel
reboot

업데이트 후: 재부팅이 필요합니다

새 커널은 재부팅 후에만 적용됩니다. 재부팅이 필요한지 확인하려면 다음 단계를 따르세요.

# Debian and Ubuntu
[ -f /var/run/reboot-required ] && echo "Reboot required"

# AlmaLinux, Rocky, RHEL
needs-restarting -r

재부팅 후 1단계부터 다시 점검하십시오.

3단계. 수정된 커널이 나올 때까지 임시 보호 조치

이러한 조치는 위험을 줄여주지만 커널 업데이트를 대체하는 것은 아닙니다.

트리거 패킷을 차단합니다

이 공격은 IPv4 헤더에 IP 옵션이 포함된 TCP 패킷을 사용합니다. 이러한 패킷은 일반적인 트래픽에서는 거의 나타나지 않으며, RFC 7126에서도 이미 이러한 패킷을 차단할 것을 권장하고 있습니다. 아래의 nftables 규칙은 옵션이 포함된 모든 수신 IPv4 TCP 패킷을 차단하며 IPv6, UDP 또는 ICMP에는 영향을 미치지 않습니다. 이 규칙은 ufw 및 firewalld와 함께 작동합니다.

nftables가 설치되어 있지 않다면 설치하십시오.

# Debian and Ubuntu
apt install -y nftables

# AlmaLinux, Rocky, RHEL
dnf install -y nftables

규칙 파일을 생성하세요:

cat > /etc/cve-2026-98432.nft <<'EOF'
table ip cve_2026_98432 {
    chain pre {
        type filter hook prerouting priority -300; policy accept;
        meta l4proto tcp ip hdrlength gt 5 counter drop
    }
}
EOF

재부팅 후에도 규칙이 복원되도록 하려면 systemd 서비스를 생성하십시오.

cat > /etc/systemd/system/cve-2026-98432.service <<'EOF'
[Unit]
Description=Mitigation for CVE-2026-98432
After=network-pre.target nftables.service firewalld.service ufw.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=-/usr/sbin/nft delete table ip cve_2026_98432
ExecStart=/usr/sbin/nft -f /etc/cve-2026-98432.nft
ExecStop=/usr/sbin/nft delete table ip cve_2026_98432

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now cve-2026-98432.service

규칙이 로드되었는지 확인하세요:

nft list table ip cve_2026_98432

전역 설정을 사용하여 nftables 서비스를 다시 시작하면 flush ruleset 규칙, 실행 systemctl restart cve-2026-98432 나중에.

중요: CIPSO 레이블(SELinux 또는 Smack NetLabel)을 사용하는 네트워크에는 이 규칙을 적용하지 마십시오. 해당 네트워크에서는 IP 옵션이 정상적으로 사용됩니다. 서버가 다른 시스템의 트래픽을 라우팅하는 경우, 이 규칙은 해당 시스템의 TCP 패킷 중 IP 옵션이 포함된 패킷도 차단합니다.

MPTCP가 필요하지 않으면 비활성화하세요.

sysctl -w net.mptcp.enabled=0
echo "net.mptcp.enabled = 0" > /etc/sysctl.d/99-disable-mptcp.conf

이 설정은 방지하는 기능만 합니다. MPTCP 소켓 생성을 차단합니다. 이미 실행 중인 서비스는 MPTCP를 통해 계속 수신 대기하므로, 나열된 모든 서비스를 다시 시작하십시오. ss -lnMp 그리고 출력 결과가 비어 있는지 확인하십시오.

AlmaLinux에서는 MPTCP가 기본적으로 비활성화되어 있으며, 사용자가 직접 활성화해야 합니다.

Go 프로그램에서 MPTCP를 비활성화합니다.

Go 1.24 이상 버전으로 빌드된 서비스의 경우 환경 변수를 사용하여 MPTCP를 비활성화할 수 있습니다. 예를 들어, 서비스의 이름이 인 경우 다음과 같습니다. myservice:

systemctl edit myservice

열리는 파일에 다음 내용을 추가하세요:

[Service]
Environment=GODEBUG=multipathtcp=0

그런 다음 서비스를 다시 시작하십시오.

systemctl restart myservice

업데이트 X-ray

서버에서 Xray를 실행 중인 경우 v26.10.31 이상으로 업데이트하십시오. 이전 버전인 v26.10.29는 개발자가 더 이상 지원하지 않습니다. 이 업데이트는 MPTCP를 비활성화하지만 커널 문제를 해결하지는 않으므로 커널 업데이트가 여전히 필요합니다.

설정을 하나 더 확인해 보세요

두 번째로, 더 좁은 범위의 공격 경로를 위해서는 요청 마이그레이션을 활성화해야 합니다. 이 기능은 기본적으로 비활성화되어 있으므로 반드시 활성화되어 있는지 확인하십시오.

sysctl net.ipv4.tcp_migrate_req

명령어는 출력해야 합니다. 0.

서비스 접근을 제한하세요

인터넷에서 접근할 필요가 없는 모든 방화벽 포트를 닫으십시오. 가능하면 관리 서비스(SSH, 제어판, 데이터베이스)는 신뢰할 수 있는 IP 주소에서만 접근할 수 있도록 설정하십시오.

4단계. 수정된 커널을 설치한 후

  1. 서버를 재부팅하고 1단계의 명령어를 사용하여 수정된 커널이 실행 중인지 확인하십시오.
  2. 임시 규칙을 삭제할 수 있습니다.
    systemctl disable --now cve-2026-98432.service
    rm /etc/systemd/system/cve-2026-98432.service /etc/cve-2026-98432.nft
    systemctl daemon-reload

  3. MPTCP가 필요한 경우 설정을 복원하세요: 삭제 /etc/sysctl.d/99-disable-mptcp.conf 실행하다 sysctl -w net.mptcp.enabled=1.

문제가 발생하면

커널 업데이트 후 서버가 부팅되지 않으면 제어판의 VNC 콘솔을 통해 연결하고 부팅 메뉴에서 이전 커널을 선택하십시오. 직접 진행하기 어렵거나 업데이트에 도움이 필요하면 지원팀에 문의하십시오.


VPS에 대해 문의하세요

저희는 언제든지 여러분의 질문에 답변할 준비가 되어 있습니다.