
실행 중인 Linux 커널에서 CVE-2026-98432를 탐지하고, 검증된 배포판(Debian 12/13, Amazon Linux 2/2023)에서만 공식 수정 커널을 적용합니다. Ubuntu/RHEL은 탐지만 수행하며, Rocky/Alma/Oracle/Fedora/SUSE/Arch/Alpine은 식별되지만 자동 수정되지 않습니다.
한국어 | English
Linux 서버에서 현재 실행 중인 커널이 CVE-2026-98432의 영향을 받는지 탐지하고, 적응 및 검증이 완료된 배포판에서 공식 수정 커널 패키지를 설치합니다. 이 도구는 배포판 식별, 커널-패키지 매핑, 취약점 상태 판정, 커널 설치 및 설치 후 재검증을 포함하며, 비즈니스 설정을 수정하지 않고 서버를 자동으로 재시작하지 않습니다.
자동 수정은 Debian 12/13과 Amazon Linux 2/2023만 지원합니다. Ubuntu, Red Hat Enterprise Linux, CloudLinux는 탐지만 수행합니다. CloudLinux의 공식 수정 패키지는 이미 출시되었으나 점진적 배포와 구독 자격이 관련되어 있어, 도구는 정확한 버전과 채널만 제시합니다. 나머지 배포판은 식별과 정보 출력만 수행하며 설치 과정에 진입하지 않습니다. 구체적인 상태는 배포판 지원 매트릭스를 참조하십시오.
현재 버전은 v1.3.0이며, 변경 기록은 CHANGELOG.md를 참조하십시오.
| 항목 | 내용 |
|---|---|
| 번호 | CVE-2026-98432 |
| 구성 요소 | Linux 커널 IPv4 서브시스템 (tcp_v4_syn_recv_sock, tcp_v4_reqsk_destructor) |
| 유형 | 해제 후 사용(use-after-free) |
| 트리거 조건 | 재전송된 TCP SYN을 동시에 처리하거나 tcp_migrate_req가 활성화된 요청 소켓 마이그레이션 시, inet_opt와 ireq_opt가 RCU 유예 기간이 끝나기 전에 해제될 수 있음 |
| 영향 | 커널 메모리 손상으로 서비스 거부(DoS)를 유발할 수 있음. 구체적인 영향 범위와 악용 조건은 각 배포판 공지를 기준으로 함 |
| 업스트림 수정 | ipv4: free inet_opt and ireq_opt after an RCU grace period, 수정 사항은 7.2.10, 6.18.56, 6.12.113, 6.1.190에 반영됨 (commit 26d4c36d318c) |
| 공개 시점 | 2026-10-15 |
각 배포판의 영향 여부와 수정 버전은 해당 배포판의 공식 공지를 기준으로 합니다. 이 도구는 다른 배포판의 결론을 근거로 추론하지 않으며, 업스트림 버전 번호로 배포판 수정 상태를 유추하지 않고, CVSS 점수와 실제 공격 복잡도를 평가하지 않습니다.
/etc/os-release의 ID, VERSION_ID, VERSION_CODENAME을 읽고 배포판 전용 정보(예: Oracle의 UEK 표시, Amazon Linux의 버전 번호)를 함께 반영합니다. ID_LIKE로 신원을 통합하지 않으며, Ubuntu는 Debian으로 취급되지 않고 Rocky Linux, AlmaLinux, Oracle Linux는 RHEL로 취급되지 않습니다.uname -m의 결과를 정규화(x86_64는 amd64, aarch64는 arm64로 기록)한 후 패키지 관리자가 보고한 아키텍처와 교차 검증하며, 불일치 시 UNKNOWN으로 판정합니다.--report는 탐지 결론과 근거를 생성하고, --list-distros는 지원 매트릭스를 출력합니다.kernel-lts 두 스트림 포함)을 지원하고, 식별은 Rocky Linux, AlmaLinux, Oracle Linux, Fedora, openSUSE Leap, SUSE Linux Enterprise, Arch Linux, Alpine Linux를 지원합니다. 배포판 버전이 적응 범위를 벗어나면 UNSUPPORTED를 반환합니다.--list-distros만 일반 사용자로 실행할 수 있습니다.awk, sed, grep, tar, find; 배포판에 해당하는 패키지 관리 도구(dpkg/apt-get/apt-cache, rpm/dnf/yum, apk, pacman, zypper); 부트스트랩 설치 프로그램은 추가로 curl과 sha256sum(또는 shasum)이 필요합니다.curl -fsSL https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh | sudo bash
install.sh는 부트스트랩 설치 프로그램으로, 그 자체로는 시스템을 수정하지 않습니다. 해당 Tag의 소스 아카이브를 임시 디렉터리에 다운로드하고, 압축을 푼 뒤 Release에서 SHA256SUMS를 읽어 fix.sh, install.sh, lib/*.sh, adapters/*.sh 및 data/*.yml을 하나씩 검증하며, 전부 통과한 후에야 동일한 인자로 fix.sh를 실행합니다. 감지가 완료되면 수정 계획을 표시하고, Y를 입력해 확인해야 커널을 설치합니다. 확인 프롬프트는 /dev/tty에서 읽으므로 파이프 실행에서도 정상적으로 상호작용할 수 있으며, sudo가 비밀번호를 요구할 수 있습니다.
검증은 fail closed 방식으로 처리됩니다. SHA256SUMS가 없거나 비어 있는 경우, 목록이 모든 스크립트를 포함하지 않는 경우,任一 파일의 해시가 일치하지 않는 경우, 아카이브에 절대 경로나 ..가 포함된 경우, 시스템에 sha256sum과 shasum이 없는 경우에는 압축 해제 후 또는 실행 전에 중단되며, 어떤 도구 코드도 실행되지 않습니다. SHA256SUMS와 소스 패키지는 동일한 저장소에서 제공되며 독립적인 디지털 서명이 없으므로 서명 검증과 동등하게 볼 수 없습니다. 프로덕션 환경에서 사용하기 전에 먼저 스크립트를 다운로드하여 직접 검토할 것을 권장합니다.
curl -fsSL https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh | sudo bash -s -- --check
시스템 상태만 읽고, 패키지 인덱스를 새로 고치지 않으며, 소프트웨어 패키지를 설치하지 않고, 구성을 수정하지 않습니다. --check는 검사 및 복구 단계를 제한하며, install.sh 자체의 다운로드 동작에는 영향을 주지 않습니다. 로컬 패키지 인덱스가 비어 있을 때 후보 버전은 알 수 없음으로 표시되며, 먼저 직접 apt-get update 또는 dnf makecache를 실행해야 합니다.
curl -fsSL https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh | sudo bash -s -- --yes
--yes는 확인 프롬프트만 건너뛰며, 배포판 화이트리스트, 공지 검증 및 버전 검증은 건너뛰지 않습니다. 화이트리스트에 없는 배포판은 --yes를 지정하더라도 설치 절차에 진입하지 않습니다.
curl -fsSLO https://raw.githubusercontent.com/AronWang001/linux-cve-2026-98432-fix/v1.3.0/install.sh
less install.sh
sudo bash install.sh --check
sudo bash install.sh
fix.sh는 같은 디렉터리의 lib/, adapters/, data/에 의존하므로 단독으로 다운로드하여 사용할 수 없습니다:
git clone --branch v1.3.0 --depth 1 https://github.com/AronWang001/linux-cve-2026-98432-fix.git
cd linux-cve-2026-98432-fix
sudo bash fix.sh --check
sudo bash fix.sh
SHA256SUMS는 fix.sh, install.sh, lib/, adapters/ 및 data/ 내의 모든 스크립트와 데이터 파일을 포함하며, 소스 아카이브와 함께 검증해야 합니다:
mkdir -p /tmp/cve-verify && cd /tmp/cve-verify
base=https://github.com/AronWang001/linux-cve-2026-98432-fix/releases/download/v1.3.0
curl -fsSLO "${base}/SHA256SUMS"
curl -fsSL -o src.tar.gz https://github.com/AronWang001/linux-cve-2026-98432-fix/archive/refs/tags/v1.3.0.tar.gz
tar -xzf src.tar.gz
cd linux-cve-2026-98432-fix-1.3.0
sha256sum -c ../SHA256SUMS
모든 레코드는 OK를 출력해야 합니다. 아카이브 디렉터리 이름은 저장소 이름에 따라 달라지며, 압축 해제 후 디렉터리가 다를 경우 실제 디렉터리를 기준으로 합니다. 시스템에 sha256sum이 없을 경우 shasum -a 256 -c ../SHA256SUMS를 사용할 수 있습니다.
| 매개변수 | 설명 |
|---|---|
-c, --check | 읽기 전용 검사: 인덱스를 새로 고치지 않고, 소프트웨어 패키지를 설치하지 않으며, 시스템을 수정하지 않음 |
-y, --yes | 대화형 확인을 건너뜀. 화이트리스트, 공지 검증 및 버전 검증을 우회할 수 없음 |
--list-distros | 지원 매트릭스 출력: 감지 지원, 자동 수정 지원, 공식 패치 상태, 검증 날짜. root 불필요 |
--report [파일] | 검사 보고서 생성, 기본적으로 현재 디렉터리의 cve-2026-98432-report-<타임스탬프>.txt에 기록됨. 보고서에는 비밀번호, 토큰 및 개인 키가 포함되지 않음 |
--no-color | 컬러 출력 비활성화, 로그 수집에 적합 |
--allow-staged-rollout | CloudLinux 전용: 공식 그레이 롤아웃 우회 cloudlinux-rollout-3-bypass의 위험을 인지하고 있음을 나타냄. 해당 저장소를 기본적으로 활성화하지 않으며 repo 파일에도 기록하지 않음. 이 버전의 CloudLinux는 감지만 수행하며, 지정하더라도 설치하지 않음 |
-h, --help | 도움말 표시 |
-V, --version | 버전 정보 표시 |
| 상태 | 의미 | 종료 코드 |
|---|---|---|
FIXED | 현재 실행 중인 커널이 공식 수정 버전에 도달함 | 0 |
PENDING_REBOOT | 수정 커널이 설치되었으나 여전히 이전 커널로 실행 중 | 3 |
VULNERABLE_PATCH_AVAILABLE | 공식 수정 패키지가 제공되며, 실행 중인 커널이 여전히 영향을 받음 | 2 |
PATCH_NOT_RELEASED | 공식적으로 확인 가능한 수정 패키지가 아직 릴리스되지 않음. 상태만 출력하고 설치하지 않음 | 6 |
PATCH_TESTING_ONLY | 공식적으로 testing 저장소에서만 수정 패키지를 제공하며, 프로덕션 저장소에는 릴리스되지 않음. 설치하지 않음 | 7 |
NOT_AFFECTED | 공식 설명에 따르면 해당 커널 브랜치에 취약점 코드가 포함되지 않아 조치가 필요 없음 | 8 |
UNKNOWN | 공지, 커널 출처, 패키지 매핑 또는 버전을 확인할 수 없음 | 4 |
UNSUPPORTED | 시스템, 버전, 아키텍처 또는 커널 flavor가 지원되지 않음 | 1 |
| 사용자 취소 | 확인 단계에서 y가 아닌 값을 입력하여 시스템이 수정되지 않음 | 5 |
| 실행 오류 | 의존성 누락, 비 root, 매개변수 오류, 설치 또는 검증 실패 | 1 |
상태가 VULNERABLE_PATCH_AVAILABLE이고, 적응 계층이 자동 수정을 허용하며, 기준선 레코드에 autofix: yes가 있을 때만 설치 절차에 진입합니다. 종료 코드 1은 지원되지 않는 환경과 런타임 오류 모두에 사용되며, 구분 기준은 출력의 판정 결과입니다.
커널 설치가 완료된 후에도 실행 중인 커널은 여전히 이전 커널이므로 재부팅을 예약해야 합니다:
sudo reboot
재부팅 후 --check를 다시 실행하여 FIXED로 판정되어야 수리가 완료된 것입니다. 여전히 PENDING_REBOOT가 표시되거나 여전히 이전 커널이 실행 중이라면 부트로더 기본 시작 항목, grubenv 및 클라우드 제공업체의 부팅 구성을 확인하십시오.
기준 검증 날짜는 2026-11-02입니다. 데이터는 각 배포판의 공식 공지와 보안 트래커에서 가져왔으며, 수동으로 확인한 후 data/cve-2026-98432.yml에 기록되었고 실시간 온라인 동기화가 아닙니다. sudo bash fix.sh --list-distros를 실행하면 도구에 내장된 현재 상태를 확인할 수 있으며, 일반 사용자가 bash fix.sh --list-distros를 직접 실행해도 됩니다.