2026년 10월 23일 현재 확인된 소스(UTC) 보장 기간: 2026년 7월 25일~10월 23일, 9월부터 10월까지의 새로운 발표 및 후속 패치에 중점을 둡니다. 대상: Node.js, Java, Python 서비스, 컨테이너, 빌드 파이프라인 및 개발 환경을 유지 관리하는 엔지니어 및 보안 응답자.

이 문서에서는 Node.js, Java 및 Python 런타임, 표준 라이브러리, 공통 서버 프레임워크 및 종속성의 최근 중요한 보안 위험을 요약하고 영향 범위, 수정된 버전, 임시 완화 조치, 패치 선택 및 확인 방법을 제공합니다.

구성 요소 버전, 활성화된 기능 및 액세스 가능한 진입점에 대한 영향을 평가합니다. 취약점 사실은 공식 권고에서 나옵니다. 이전 패치 릴리스가 명시적으로 언급되지 않는 한 날짜는 공개 공개를 의미합니다. 우리는 확인되지 않은 익스플로잇 조건, CVSS 점수 또는 실제 익스플로잇을 추론하지 않습니다. 배포 조언은 구현 지침으로 식별됩니다.

TL;DR: 교정 우선순위

  1. 실제로 서비스를 호스팅하는 런타임을 먼저 업데이트하세요. 해당 Node.js 분기를 최소한 22.23.4 / 24.22.1 / 26.12.1로 업데이트하세요. Node 24를 사용하는 서비스는 동일한 주요 버전 또는 동일한 수정 사항이 포함된 이후 버전내에서24.22.1로 업그레이드할 수 있습니다. S1S2
  2. Node 애플리케이션 종속성을 별도로 업데이트합니다. Next.js의 경우 15.5.28 / 16.4.1를 업그레이드 기준으로 사용합니다. React Server Components를 독립적으로 사용하는 경우 실제 설치된 react-server-dom-* 패키지를 확인하세요. Node 바이너리 업데이트만으로는 이러한 프레임워크 취약점이 해결되지 않습니다. S8S9S10S11S12
  3. Java: 두 차례의 업데이트를 모두 포함합니다. 10월 20일 CPU 및 10월 21일 CVE-2026-91403 긴급 인증서 신뢰 수정 사항을 모두 포함하는 공급업체 빌드를 설치합니다. Oracle JDK 11-27 대역 외 버전은 2.2 섹션을 참조하세요. 자체 보안 패키지 및 전체 빌드 번호와 비교하여 다른 배포판을 확인하십시오. 해당 Tomcat 분기를 9.0.123 / 10.1.61 / 11.0.27로 업데이트합니다. S16S17S18S20S21S22S23
  4. Python: 인터프리터, 애플리케이션 패키지 및 인증서 패키지를 별도로 업데이트합니다. 인터프리터 기준선은 2.3 섹션을 참조하세요. certifi는 uv 사용 시 ≥2026.10.19, pip ≥26.2.2를 권장합니다. ≥0.13.4. 기존의 모든 venv를 확인해야 합니다. wrap_bio() 관련 코드의 경우 정확하고 비어 있지 않은 server_hostname도 전달되어야 합니다. S29S30S31S33S35S36S37
  5. 즉시 업그레이드가 불가능한 경우 관련 진입점에서 노출을 줄이세요. 신뢰할 수 없는 Brotli 디코딩, 영향을 받은 이미지/페이징/보관 처리 및 문제가 있는 LDAP 또는 인증 항목 격리를 우선적으로 중지하세요. TLS 인증서와 호스트 이름을 검증된 상태로 유지합니다. 인바운드 WAF는 악성 압축 응답을 가져오는 애플리케이션과 같은 아웃바운드 경로를 처리할 수 없습니다. S3S11S25S27S30S32
  6. 재구축하고, 기존 프로세스를 교체하고, 실제 서비스 경로를 통해 확인합니다. 잠금 파일과 이미지 다이제스트를 저장하고, 애플리케이션과 이미지를 재구축하고, 모든 작업자/JVM/컨테이너에 대한 교체품을 롤아웃합니다. 실제 프로세스, 종속성 트리, 신뢰 저장소 및 비즈니스 회귀 테스트를 확인하십시오. 최신 명령줄 버전만으로는 교정이 완료되었음을 확인할 수 없습니다.
  7. LiteLLM 1.107.0가 설치되었거나 실행된 경우 사고 대응 절차를 따르십시오. 프로젝트는 10월 21일에 릴리스 손상을 확인했습니다. 영향을 받은 환경을 격리하고 깨끗한 환경에서 조사하고 노출된 자격 증명을 다시 구축하고 순환합니다. 먼저 확인을 위해 의심스러운 환경에서 Python/pip를 시작하지 마십시오. 자세한 내용은 섹션 9를 참조하세요. S41

1. 취약점 개요 및 위험 평가

1.1 실제 노출을 통한 교정 우선순위 지정

아래 배포 우선순위는 구현 지침입니다. 심각도 레이블은 Apache의 Important 등급을 포함하여 각 공급업체를 따릅니다. CVSS 3.1와 4.0는 서로 다른 채점 시스템입니다. 점수만으로 문제의 순위를 매기지 마십시오.

생태계/계층주요 이슈공식 성적 또는 검증된 점수우선 배포
Node.js 기본 종속성CVE-2026-111497: Brotli는 범위를 벗어나 작성되었으며 RCE의 위험이 있습니다.Node:High외부 요청 본문 또는 외부 응답에서 Brotli 데이터 S1S3를 디코딩합니다.
Node.js TLS / DNSCVE-2026-105482, 105483, 106069: 구문 분석 및 ID 확인이 일치하지 않습니다.HighURL 크롤링, 프록시, Webhook, 동적 대상 주소 S1S5S6
Node.js HTTP/2CVE-2026-56846, 56848: 메모리 소진 및 UAFHighNode는 신뢰할 수 없는 HTTP/2 트래픽 S7를 직접 처리합니다.
React / Next.jsRSC / use cache typed arrays RCECritical;CVSS 4.0 9.5서버 RSC, 관련 캐시 구성요소 및 데이터 경로 S9S10
Next.js 이미지 최적화CVE-2026-96889: SVG 이미지 처리 RCECritical;CVSS 4.0 9.5신뢰할 수 없는 이미지 S11를 처리할 수 있는 glibc Linux의 인스턴스
Next.js Server Actions특별히 제작된 요청으로 인해 CPU가 소진됩니다.High;CVSS 4.0 8.2App Router 및 하나 이상의 Server Action S12
Java TLS 신뢰CVE-2026-91403: 영향을 받은 중간 CA를 계속 신뢰합니다.CVSS 3.1 9.1영향을 받은 신뢰 체인을 사용하는 TLS/API 시나리오 S17
TomcatJNDIRealm 인증 우회, HTTP/2 교차 요청 혼동, AJP 응답 누출ImportantRealm / Connector / async Servlet 경로 S21S22S23에 해당
Spring for GraphQLCVE-2026-59285: 페이징 역직렬화 RCEHighJackson 2 + Connection 페이징 + 악용 가능한 클래스 경로 S25
Spring SecurityCVE-2026-59270: 내장된 LDAP 알려진 관리 ID가 노출되었습니다.Critical임베디드 LDAP가 활성화되어 있으며 공격자 S27가 수신 대기 포트에 액세스할 수 있습니다.
CPython sslCVE-2026-19445: SNI 전환 컨텍스트 결과는 UAF입니다.CriticalPython는 TLS를 자체적으로 종료하고 컨텍스트 수명 주기 조건 S29를 충족합니다.
CPython sslCVE-2026-19553: 호스트 이름이 누락되면 확인 건너뛰기Highwrap_bio() / 예상 호스트 이름 S30가 누락된 관련 asyncio 호출
CPython tarfileCVE-2026-82049: 하드 링크 및 심볼릭 링크 조합 바이패스High신뢰할 수 없는 tar 아카이브 S32 자동 추출
Django / GeoDjangoCVE-2026-15307: RCE 조건에서 공간 쿼리 쓰기 파일 SSRFHigh신뢰할 수 없는 입력을 허용하는 공간 쿼리 또는 관련 관리 인터페이스 S38
Python 인증서 종속성certifi: emSign 관련 인증서 불신Critical; GHSA, 알려진 바 없음 CVETLS 클라이언트 및 패키지 관리 도구 S36S37는 여전히 영향을 받는 CA bundle를 사용하고 있습니다.

약어: RCE는 원격 코드 실행을 나타내고, UAF는 use-after-free를 나타내고, SSRF는 서버 측 요청 위조를 나타냅니다. RCE의 직접 권한은 일반적으로 애플리케이션을 호스팅하는 프로세스의 권한이며 자동으로 루트 권한과 동일할 수 없습니다.

**권장 순서:**는 먼저 외부에서 연결할 수 있고 조건, 인증 우회, 사용자 간 데이터 유출 및 인증서 인증 문제를 충족하는 RCE를 처리합니다. 동시에 공개 DoS 진입점에 대한 업데이트를 예약합니다. 악용 가능성을 입증하기 위해 프로덕션 환경에서 공격 페이로드를 실행할 필요가 없습니다. 종속성이 존재하고, 코드 경로에 도달할 수 있으며, 공격 조건이 충족됩니다. 별도로 확인해야 할 세 가지 문제입니다.

1.2 쉽게 혼동되는 세 가지 경계

  • 런타임 및 종속성을 별도로 업그레이드합니다. Node, JDK, CPython에 대한 보안 업데이트는 Next.js, Spring, Django의 독립 실행형 설치를 자동으로 복구하지 않습니다. certifi 또는 기본 확장.
  • 교정 임계값은 현재 배포 기준과 별개입니다. 8월 취약점에 대한 첫 번째 패치는 9월부터 10월까지의 새로운 문제를 포함한다고 보장되지 않습니다. 섹션 2에서는 검증된 후속 업데이트를 구현 대상으로 사용합니다.
  • 실제 공급망 손상과 취약점을 구별합니다. 일반적인 취약점의 경우 패치는 향후 공격 경로를 제거합니다. 악성 패키지가 실행되면 자격 증명 및 지속성의 영향을 조사해야 합니다. 섹션 9의 LiteLLM가 공식적으로 확정된 이벤트입니다. S41

실제 환경에서 확인된 악용이 있는지 여부는 공식 공개를 기반으로 해야 합니다. 공급업체는 악용 활동에 대해 언급하지 않았으며 공격이 없음을 증명할 수 없습니다. 교정은 실제 공격 표면을 기반으로 수행되어야 합니다.

2. 수정된 버전과 배포 기준을 빠르게 확인

참고 자료: 2.1 Node.js、React、Next.js

구성 요소/분기권장 버전 기준사용 지침
Node.js 22.x22.23.410월 21일 보안 릴리스 S1S2
Node.js 24.x24.22.124.x 분기에 적용됩니다. 24.22.0에는 10월 21일 보안 패치 S1S2가 포함되어 있지 않습니다.
Node.js 26.x26.12.1동일한 배치의 보안 릴리스 S1S2
Node.js 20 및 이전 업스트림 브랜치지원되는 분기로 마이그레이션Node 20는 이 업스트림 수정 사항을 허용하지 않습니다. 공급업체의 추가 지원은 별도로 확인해야 합니다. S3
Next.js 15.x15.5.2810월 14일 업데이트 S8
Next.js 16.x16.4.1위와 동일 S8
독립형 RSC 19.0 / 19.1 / 19.2 / 19.3 지점19.0.9 / 19.1.10 / 19.2.9 / 19.3.13개의 react-server-dom-* 패키지를 별도로 확인하세요. 최상위 레이어 react S10만 보는 것이 아니라
Next는 실제로 sharp를 로드했습니다.≥0.35.5SVG 취약점에 대한 공식 임시 수정 조건 다른 Next.js 패치 S11를 대체하지 않습니다.

Node는 10월 취약점에 영향을 받는 유지 관리 분기를 공식적으로 나열하지만 처음 도입된 패치 버전을 항목별로 제공하지 않으므로 유지 관리 분기 범위만으로는 각 취약점의 정확한 시작 버전을 확인할 수 없습니다. 배포 시 동일한 분기의 위 버전 또는 동일한 수정 사항이 포함된 것으로 확인된 후속 버전을 사용하는 데 우선순위를 부여하세요.

2.2 Java: 10월 CPU 및 대역 외 인증서 업데이트

이 표는 Oracle JDK에 적용됩니다. 두 번째 열에는 10월 20일 CPU만 포함됩니다. 세 번째에는 10월 21일 대역외 릴리스가 포함됩니다. CPU 버전만으로는 여기에서 논의된 모든 Java 위험을 포괄하지 않습니다. S16S17S18

가지10월 20일 CPUOracle는 10월 21일 아웃 오브 밴드로 출시되었습니다.
1111.0.3311.0.33.0.2
1717.0.2117.0.21.0.2
2121.0.1321.0.13.0.2
2525.0.525.0.5.0.2
2727.0.127.0.1.0.2
88u511공개 릴리스 테이블에는 여전히 8u511가 표시됩니다. 특정 보안 구축 및 신뢰 체인 복구를 확인해야 하며 짧은 버전 번호만으로는 판단할 수 없습니다.

**Java 8는 전체 빌드 정보(**Oracle)와 비교하여 확인해야 합니다. 경고에는 8u511이 영향을 받는 버전으로 나열되고 릴리스 목록에는 동일한 짧은 이름을 가진 후속 업데이트가 나열됩니다. “8u511” 짧은 버전 번호만으로는 패치 상태를 구별할 수 없습니다. 특정 보안 빌드 및 신뢰 체인 수정 사항을 확인해야 합니다. S17S18

Temurin, Corretto, Zulu, Microsoft Build of OpenJDK, 릴리스 버전 OpenJDK 등은 해당 발표 및 전체 패키지/빌드 번호에 따라 확인하세요. 예를 들어, 공식 릴리스 기록은 다음과 같습니다. Adoptium에는 eMudhra 수정 사항을 추가하기 위해 관련 빌드가 다시 패키지되었다고 명시되어 있습니다. 업스트림 버전의 이름이 동일하다고 해서 패키지 내용이 동일하다는 의미는 아닙니다. Oracle에 대한 .0.2 접미사 규칙은 다른 게시자에 기계적으로 적용될 수 없습니다. S20

Java 애플리케이션 구성 요소권장 버전 기준비고
Tomcat 9 / 10.1 / 119.0.123 / 10.1.61 / 11.0.27지점별로 지점을 확인하세요. Tomcat 10.0가 유지 관리를 중지했습니다. S21S22S23
Spring for GraphQL 2.0.x2.0.5(OSS)상용 지원도 2.0.4.1 S25
Spring Security 7.1 / 7.07.1.1 / 7.0.7(OSS)8월에 발표된 최소 수정 버전에 해당합니다. 배포하기 전에 후속 보안 공지 S27S28를 확인해야 합니다.
Spring Security 6.5 / 6.4 / 5.8 / 5.76.5.12 / 6.4.19 / 5.8.28 / 5.7.26이 발표는 상용 지원 수정 사항으로 나열됩니다. 마이그레이션은 해당 지원이 없을 때 평가되며 Maven Central가 무료로 제공된다고 가정할 수 없습니다. S27

Spring 업그레이드는 프로젝트의 Spring Boot BOM, Java 최소 버전 및 호환성 라인을 준수해야 합니다. 패치를 얻기 위해 모든 Spring 모듈을 동일한 번호로 직접 강제하지 마십시오.

2.3 CPython, Django 및 인증서 종속성

아래 표의 두 번째 열은 9월에 공개된 TLS 이슈에 초점을 맞추고 있습니다. tarfile의 분기 차이점은 5.3. 섹션에 나와 있습니다. 10월 21일 릴리스에서는 번들 인증서 도구도 업데이트되었으므로 마지막 열에는 이후 배포 기준이 포함됩니다. S29S30S33S35

CPython 지점9월 보안 배치 최소 버전권장 배포 기준
3.103.10.22업스트림의 마지막 릴리스인 EOL; 마이그레이션 준비 또는 릴리스 확장 지원 확인 S34
3.113.11.173.11.17, 각 환경에서 개별적으로 pip/certifi 업데이트
3.123.12.153.12.15, 각 환경에서 개별적으로 pip/certifi 업데이트
3.133.13.163.13.17
3.143.14.83.14.9
3.15최종 3.15.0 릴리스에는 TLS 수정 사항 S31S47가 모두 포함되어 있습니다.3.15.1

3.11 및 3.12의 업스트림 보안 버전은 소스 코드로만 출시될 수 있습니다. 운영 체제 패키지를 사용할 때 공급업체의 백포트 권고 사항과 전체 패키지 버전을 확인하세요. 시스템 Python를 자체 컴파일된 버전으로 강제로 교체할 필요는 없습니다. S33S34

독립적인 의존성권장 버전 기준설명
Django 5.2 / 6.0 / 6.15.2.18 / 6.0.9 / 6.1.210월 6일 후속 수정 S38S39를 통합합니다.
certifi≥2026.10.19GHSA 초기 패치는 .18입니다. PSF는 영향을 받지 않는 인증서 S36S37에 대한 호환성을 유지하기 위해 .19를 권장합니다.
pip≥26.2.2certifi의 내장 사본은 별도로 업데이트해야 합니다. S35S37
uv(사용된 경우)≥0.13.4실제 설치 방법에 따라 S37 업데이트

이 기준선은 나열된 수정 사항을 포함합니다. tar_filter의 또 다른 중간 심각도 문제는 10월 22일에 공개되었습니다. 2026년 10월 23일 현재 이 수정 사항이 포함된 공식 유지 관리 버전은 아직 확인되지 않았습니다. 따라서 3.13.17 / 3.14.9 / 3.15.1는 모든 tar 파일 문제를 다루었다고 간주할 수 없습니다. 5.4. S40 섹션을 참조하세요.

2.4 배포 백포트 확인 중

Ubuntu, Debian, RHEL 및 기타 소프트웨어 패키지에 적용되는 구현 원칙:

  1. 운영 체제 버전, 저장소 소스, 전체 패키지 버전 및 공급업체 보안 공지 번호를 기록합니다.
  2. 권고가 특정 CVE를 다루고 관련 배포 릴리스에 대한 수정된 패키지를 식별하는지 확인하십시오.
  3. 업스트림 짧은 버전뿐만 아니라 실제 실행 중인 프로세스에 의해 로드된 바이너리/라이브러리를 비교하세요.
  4. 공급업체 패치에 대한 증거가 없는 경우 이를 “확인”하도록 두고 버전 번호가 오래되었거나 새 것으로 보인다는 유일한 결론으로 받아들이지 마십시오.

apt/RPM 패키지 버전과 다양한 배포판의 백포트 전략에는 차이가 있습니다. 각 배포판의 보안 게시판과 전체 패키지 버전이 우선되어야 합니다.

3. Node.js / JavaScript 생태계: 원인 분석 및 개선

3.1 CVE-2026-111497: Brotli 네이티브 디코더 범위를 벗어난 쓰기

공개: 2026-10-21; Node 공식 등급: High. 영향을 받는 Node 22.x, 24.x, 26.x 빌드에는 패치 섹션 2.1를 설치해야 합니다. Node 이 발표에는 숫자로 표시된 CVSS 점수가 나와 있지 않습니다. S1

잘못된 형식의 Brotli 압축 스트림을 처리할 때 기본 디코딩 논리에서 문제가 발생하며 이로 인해 범위를 벗어난 쓰기가 발생할 수 있습니다. Vercel의 공식 설명은 연구 시연에 프로세스 메모리 누수 및 명령 실행이 포함되어 있음을 확인합니다. 공격자가 디코더에 접근할 수 있는지 여부는 애플리케이션이나 종속성이 제어하는 ​​데이터를 실제로 디코딩하는지 여부에 따라 달라집니다. S3

두 방향을 동시에 확인해야 합니다.

  • inbound: 프레임워크 또는 미들웨어는 사용자가 제출한 Brotli 요청 본문을 자동으로 압축 해제합니다.
  • **outbound:**HTTP 클라이언트, 이미지 그래버 등은 공격자가 제어할 수 있는 소스에 액세스하고 반환된 콘텐츠를 자동으로 압축 해제합니다.

브라우저로 전송된 응답의 Brotli 압축을 비활성화해도 디코딩 진입점은 제거되지 않습니다. 인바운드 WAF 보호에는 외부 응답을 가져오고 디코딩하는 애플리케이션도 포함되지 않습니다. S3

**패치 방향:**Node Brotli 업스트림 수정 사항을 기본 종속성으로 이동하고 불법 디코딩 상태 확인 및 오류 전파를 보완합니다. 자체 컴파일된 버전을 유지 관리할 때는 공식 보안 릴리스나 일치하는 브랜치의 전체 패치를 사용해야 합니다. JavaScript 패키지의 버전 설명만 변경할 수는 없습니다. S4

임시 구현 제안: 불필요하고 신뢰할 수 없는 Brotli 디코딩을 중지합니다. 미들웨어 및 HTTP 클라이언트의 자동 압축 해제 동작을 확인합니다. 기업이 이 형식을 수용해야 하는 경우 가능한 한 빨리 패치된 환경에서 처리를 완료하세요. Accept-Encoding 조정은 단지 협상 행위일 뿐이며 악의적인 응답이 차단되었다는 증거로 단독으로 사용되어서는 안 됩니다.

3.2 TLS / DNS 3개 High: 검증 대상이 실제 대상과 일치하지 않습니다.

세 가지 모두 10월 21일에 공개되었으며 공식 업그레이드 임계값은 2.1. S1 섹션에 명시되어 있습니다.

식별자문제 확인됨영향을 받는 지점
CVE-2026-105482dns.resolve NUL를 포함하는 이름 잘림22.x / 24.x / 26.x
CVE-2026-105483전체 너비 숫자 형식의 IP로 인해 인증서 호스트 이름 확인이 우회됩니다.24.x / 26.x
CVE-2026-106069IP로 느슨하게 해석될 수 있는 호스트 이름으로 인해 TLS 확인 우회가 발생합니다.22.x / 24.x / 26.x

DNS 문제의 본질은 상위 레이어에서 확인한 문자열과 하위 레이어에서 실제로 파싱한 이름이 다르다는 점이다. 공식 패치는 구문 분석 항목에서 NUL를 거부하고 회귀 적용 범위를 추가합니다. S6

TLS 두 항목에는 이름 정규화, IP 해석의 일관성 및 인증서 일치가 포함됩니다. 실제 IP 엔드포인트와 인증서 도메인 ID를 혼동하지 않도록 비표준 IP 입력이 거부되거나 올바르게 처리되도록 패치합니다. S5

**:**에 대한 실제 문제 해결 제안은 수신 사용자 URL, 동적 프록시 대상 또는 Webhook 주소의 코드를 확인하는 데 우선 순위를 둡니다. 통합 표준화 및 목록 판단 허용, NUL/제어 문자 거부, 합법적인 IPv4, IPv6 및 국제화 도메인 이름이 여전히 작동하는지 확인합니다. SSRF가 추가로 형성될 수 있는지 여부는 링크 증거의 적용이 필요하며 이는 CVE라는 이름에서 직접 추론할 수 없습니다.

업그레이드 후 체크섬 오류를 제거하기 위해 NODE_TLS_REJECT_UNAUTHORIZED=0 또는 rejectUnauthorized: false를 사용하지 마십시오. 주소, 인증서 및 비즈니스 구성을 수정해야 합니다.

3.3 7월 HTTP/2 High-위험 및 권한 모델 문제

지난 7월 공개된 다음의 이슈들은 여전히 조사 대상에 포함되어야 합니다. 배포 시 섹션 2.1의 10월 보안 버전 기준을 직접 사용하는 것이 좋습니다. S7

CVE원인과 결과첫 번째 수정 버전
CVE-2026-56846보유된 HTTP/2 header 블록은 maxSessionMemory 예산에 제대로 포함되지 않으며 메모리를 소모할 수 있습니다. 임팩트 22.x / 24.x22.23.2 / 24.18.1
CVE-2026-56848HTTP/2는 패킷 수집 중에 전송 경로에 다시 들어가므로 힙 UAF가 발생합니다. 충격 22.x / 24.x / 26.x22.23.2 / 24.18.1 / 26.5.1
CVE-2026-58043--permission 경로 접두사 경계 일치가 너무 넓어 허용 목록 외부의 파일에 액세스할 수 있습니다.위의 3개 유지보수 라인과 동일

세 가지 모두 공식적으로 High입니다. 처음 두 항목은 HTTP/2가 Node 자체에서 처리되는지 확인하는 데 우선 순위를 둡니다. 세 번째 항목은 권한 모델을 사용하고 이 경계에 의존하는 경우에만 해당 의미를 갖습니다. 권한 모델 항목을 모두 인증이 필요하지 않은 네트워크 RCE로 설명할 수는 없습니다. S7

별도의 업데이트된 프록시에서 HTTP/2를 일시적으로 종료하고 백엔드 소스를 제한하는 것은 노출을 줄이기 위한 배포 옵션입니다. 리소스 할당량은 리소스 소진의 결과만 제어할 수 있으며 UAF를 패치할 수 없습니다.

3.4 10월 React / Next.js: 2개 품목 RCE 및 1개 품목 DoS

A. 형식화된 배열을 반환하는 RSC / use cache 함수의 RCE

공개 날짜: 2026-10-14; Critical, CVSS 4.0 9.5. 공식 권고 식별자:

  • React:GHSA-xqc2-xf4c-x3h3。
  • Next.js:GHSA-673q-mjm6-r5xr。S9S10

React 업스트림 문제는 RSC 응답에서 공격자가 제어할 수 있는 값과 결합된 여러 유형의 배열과 관련이 있습니다. 영향을 받는 세 가지 react-server-dom-* 패키지 버전은 19.0.0—19.0.8, 19.1.0—19.1.9, 19.2.0—19.2.8입니다. 19.3.0; 2.1. 섹션 장을 참조하세요. 순수 브라우저 측 React 또는 RSC를 전혀 지원하는 프레임워크/플러그인을 사용하지 않는 애플리케이션은 이 항목의 범위에 속하지 않습니다. S10

Next.js 다운스트림 발표 목록 16.0.0—16.4.0, 16.4.1에서 개정됨; 시나리오는 여러 형식의 배열을 반환하는 App Router, Cache Components 및 use cache 함수입니다. 공식적으로 신뢰할 수 있는 일반적인 해결 방법은 없으며, 영향을 받는 버전의 사용자는 적시에 업그레이드해야 합니다. 처리를 종료하기 위해 “이 기능이 존재하지 않는 것 같습니다”라고 수동 검색에만 의존하는 것은 적절하지 않습니다. S9

참고 자료: B. SVG Image Optimization RCE

CVE-2026-96889/GHSA-2464-fhr4-w9xw, 2026-10-14, Critical, CVSS 4.0 9.5. 문제는 이미지 최적화에 사용되는 업스트림 기본 라이브러리에서 발생합니다. 관계자들은 glibc Linux 시나리오에 RCE 위험이 존재한다고 지적했습니다. S11

공식 버전 필드는 다음과 같습니다.

  • >=10.0.0 <=15.5.27;
  • >16.0.0 <=16.4.0。

공식은 16.x 브랜치에 대해 >16.0.0의 엄격한 하한을 사용하지만 이 범위 설명은 16.0.0가 안전하다는 것을 증명하기에 충분하지 않습니다. 실제 업그레이드 대상은 균일하게 15.5.28 / 16.4.1입니다. S11

공식적인 임시 해결책은 Next가 실제로 날카로운 ≥0.35.5를 로드하는지 확인하는 것입니다. 잠금 파일, 중첩된 종속성 및 배포 이미지는 여전히 이전 인스턴스를 보유할 수 있으므로 최상위 수준에 sharp 종속성의 새 버전을 추가하는 것만으로는 충분하지 않으며 최종 종속성 트리를 확인하고 다시 구축해야 합니다. S11

C. Server Actions CPU 지쳐

**GHSA-p3m5-59mp-jv5r, 2026-10-14, High, CVSS 4.0 8.2.**Next는 13.0.0—15.5.27에 영향을 미칩니다. 16.0.0—16.4.0, 15.5.28 /16.4.1를 수정합니다. 조건은 App Router 및 하나 이상의 Server Action입니다. 악의적인 요청은 CPU를 오랫동안 점유 상태로 유지하여 동일한 프로세스의 후속 요청을 차단할 수 있습니다. Pages Router가 있거나 Server Actions가 없는 애플리케이션은 이에 영향을 받지 않습니다. S12

업그레이드를 대체할 수 있는 공식적인 해결 방법은 없습니다. 속도 제한, 동시성 제한 및 리소스 할당량은 피해를 줄일 수 있지만 패치 검증을 위한 결론으로 ​​사용할 수는 없습니다.

3.5 이전 Next.js 같은 창에 심각한 문제가 있습니다

다음 항목은 8월~9월 이전 버전에서 여전히 정체되어 있는 배포 누락을 방지하기 위한 것입니다. 지금은 테이블의 이전 수정 임계값으로 이동하는 것은 권장되지 않습니다.

날짜식별자/시나리오첫 번째 수정; 현재 작업
2026-08-25GHSA-2xp9-vwfh-vxw4: AVIF 이미지 최적화 네이티브 라이브러리 RCE, Critical15.5.24 / 16.3.3; 이제 15.5.28 / 16.4.1 S13
2026-08-25CVE-2026-75604: RCE, Critical Pages Router 및 App Router가 Windows에서 동시에 사용되고 Cache Components가 활성화되지 않은 경우. 버전 >=13.4.0 <15.5.24, >=16.0.0 <16.3.315.5.24 / 16.3.3; Linux/macOS는 이 특정 Windows 문제 S14의 영향을 받지 않습니다.
2026-09-22GHSA-vcvr-r3jv-pc5j: next/og의 Node 이미지 생성 경로는 신뢰할 수 없는 SVG, Critical를 처리합니다. 16.2.0—16.3.516.3.6; Edge 구현은 이 문제의 범위를 벗어나며 15.x는 이 RCE S15의 영향을 받는 분기가 아닙니다.

4. Java 생태계: 런타임 신뢰, 컨테이너 및 프레임워크는 별도로 처리됩니다.

4.1 JDK: 일반 CPU 및 CVE-2026-91403는 2계층 업데이트입니다.

10월 20일 Oracle CPU에 대한 Java SE 위험 매트릭스에는 55개의 새로운 보안 패치가 나열되어 있으며, 그 중 49개는 인증 없이 네트워크를 통해 악용 가능한 것으로 표시되어 있습니다. 이는 Critical가 55개 있다는 의미도 아니고 각 Java 웹 서비스에 대해 직접 악용할 수 있는 RCE 경로가 49개 있다는 의미도 아닙니다. 매트릭스의 구성 요소, API, 사용자 상호 작용 및 배포 조건과 함께 이해해야 합니다. S16

다음날의 **CVE-2026-91403(CVSS 3.1 9.1)**는 또 다른 유형의 위험을 처리합니다. 더 이상 신뢰할 수 없는 eMudhra 이벤트와 관련된 중간 CA 집합입니다. 이는 TLS 피어 인증 및 통신 기밀성/무결성에 영향을 미치며 JVM 메모리 손상 취약점으로 설명할 수 없습니다. S17

Oracle 권고에는 10월 20일에 출시된 버전이 영향을 받는 것으로 나열되어 있으므로 10월 21일의 대역 외 업데이트도 설치해야 합니다. 특정 버전은 2.2 섹션을 참조하세요. GraalVM에는 영향을 받는 해당 제품도 있으며, 수정된 버전은 해당 독점 보안 게시판의 적용을 받아야 합니다. S17S18

임시 공식 조치: 먼저 백업한 다음 실제로 사용된 각 신뢰 저장소에서 지정된 루트 인증서를 제거합니다.

  • emSign ECC Root CA - G3, Oracle 별칭 emsigneccrootcag3 [jdk].
  • AAA Certificate Services, Oracle 별칭 comodoaaaca [jdk]. S19

JDK 11 이상, 공식 예는 다음과 같습니다.

keytool -delete -cacerts -alias "emsigneccrootcag3 [jdk]"
keytool -delete -cacerts -alias "comodoaaaca [jdk]"

이러한 명령에 대해 대상 JDK의keytool을 사용하고 해당 명령이 애플리케이션의 실제 신뢰 저장소에서 작동하는지 확인하십시오. Java 8는 jre/lib/security/cacerts에 해당하는 경로를 사용합니다. 신뢰 저장소 사용자 정의는 별도로 처리되어야 하며 다른 게시자는 다른 별칭을 가질 수 있습니다. 루트 인증서를 제거하면 거부 범위와 회귀 테스트를 통해 합법적인 서비스 인증서 체인이 확장됩니다. S19

공식은 또한 해지 확인을 활성화하는 옵션을 제공하지만 그 효과는 실제 TLS 구현, 해지 서비스 도달 가능성 및 실패 전략에 따라 달라집니다. 일반 배포의 경우 두 개의 JVM 스위치를 모든 TLS 라이브러리가 수정되었다는 증거로 취급하지 않도록 전체 공급업체 업데이트 설치에 우선 순위를 두십시오.

4.2 Tomcat: 인증 우회 및 사용자 간 요청 격리

다음 세 가지 항목이 2026-10-20에 게시되었습니다. 복구된 버전 항목의 날짜는 10월 12입니다. Apache의 공식 등급은 Important입니다. S21S22S23

CVE영향을 받는 것으로 확인된 버전필요한 시나리오/결과
CVE-2026-1012969.0.0.M1—9.0.122;10.1.0-M1—10.1.60;11.0.0-M1—11.0.26JNDIRealm 비 GSSAPI SASL 인증 메커니즘을 구성합니다. 자격 증명 확인이 누락되고 잘못된 비밀번호도 통과할 수 있습니다.
CVE-2026-1013569.0.118—9.0.122;10.1.55—10.1.60;11.0.22—11.0.26HTTP/2의 비동기 서블릿 오류 처리로 인해 객체가 잘못 재활용/재사용되어 사용자 간에 요청 또는 응답이 혼합됩니다.
CVE-2026-10311911.0.0-M25만 확인하세요—11.0.26대규모 AJP 비차단 쓰기로 인해 버퍼 읽기가 부족해 이후 요청에서 이전 응답 데이터가 노출될 수 있습니다.

해당 수정 사항은 9.0.123 / 10.1.61 / 11.0.27입니다. 공지사항에 따르면 AJP는 Tomcat 11로만 기재되어 있으며 동일한 문제로 3개 브랜치로 확장이 불가능합니다. S21S22S23

JNDIRealm 패치는 실제 인증 과정에서 인증 대신 “애플리케이션 로그인 인터페이스가 정상적으로 보입니다”를 사용할 수 없는 인증 공백을 수정합니다. 영역, SASL 메커니즘은 서비스의 실제 구성을 확인해야 하며, 잘못된 비밀번호로 인해 테스트가 실패해야 합니다. S24

**임시 구현 제안:**는 영향을 받는 인증 경로를 격리합니다. 사업이 허가되면 Tomcat의 HTTP/2 처리를 중단합니다. 쓸모없는 AJP를 닫습니다. AJP 포트에 대한 직접 액세스를 제한하는 것만으로는 법적 프론트 프록시를 통해 들어오는 트래픽이 영향을 받지 않는다는 것을 증명할 수 없습니다. 공식 업데이트 후에는 두 명의 독립적인 사용자의 비동기 동시 요청을 테스트하여 ID와 응답 간에 혼선이 없는지 확인해야 합니다.

참고 자료: 4.3 Spring for GraphQL:CVE-2026-59285

공개일: 2026-08-20; High. 영향을 받음 2.0.0—2.0.4, 수리됨 2.0.5 (OSS) 또는 2.0.4.1(상업 지원). S25

이는 페이징 쿼리에서 안전하지 않은 역직렬화 위험이 있습니다. 공식적인 요구 사항은 다음 조건을 동시에 충족해야 한다는 것입니다.

  1. Spring for GraphQL를 사용하세요.
  2. Jackson 2.x를 사용하여 JSON을 역직렬화합니다.
  3. 외부 세계에 연결 페이징 필드를 제공합니다.
  4. 클래스 경로에는 인스턴스화 또는 역직렬화 중에 예상치 못한 논리를 수행할 수 있는 특정 클래스가 포함되어 있습니다.

조건이 충족되면 악의적인 GraphQL 요청으로 인해 RCE가 발생할 수 있습니다. “Jackson을 사용하는 모든 Java 프로그램이 악용될 수 있습니다”로 축소할 수 없습니다. S25

2.0.4가 부족한 이유: 6월에 CVE-2026-41699는 2.0.4와 같은 패치 기준을 제공했으며 8월에는 발표에서 2.0.4를 새로운 영향 범위에 분명히 포함시켰습니다. 따라서 후속 공지에 따라 수리 기록을 업데이트해야 하며, 이전 CVE의 최소 버전은 사용할 수 없습니다. S26

업그레이드를 일시적으로 사용할 수 없는 경우 신뢰할 수 없는 호출자가 액세스할 수 있는 영향을 받는 페이지 매김 필드가 일시 중지될 수 있습니다. 역직렬화 가능한 유형과 클래스 경로를 좁히는 것은 심층적인 조치입니다. 회귀는 적법한 커서, 페이지가 매겨진 결과 및 예외 입력 거부를 다루어야 하며 최종 애플리케이션 JAR 내에서 실제 구성 요소 버전을 확인해야 합니다.

4.4 Spring Security: CVE-2026-59270 및 관련 인증 위험

CVE-2026-59270, 2026-08-20, Critical. 내장형 UnboundIdContainer는 기본적으로 알려진 관리자 자격 증명을 등록하고 모든 네트워크 인터페이스에서 수신 대기합니다. 구성 요소가 활성화되고 포트에 연결할 수 있으면 공격자가 디렉터리 데이터를 읽거나 수정할 수 있습니다. 일반적으로 Spring Security를 도입하는 프로젝트는 LDAP를 자동으로 노출하지 않습니다. S27

영향을 받는 지역:

가지영향을 받음첫 번째 수정/획득 채널
7.17.1.07.1.1 OSS; 또한 상업용 7.1.0.1
7.07.0.0—7.0.67.0.7 OSS; 또한 상업용 7.0.6.1
6.5 / 6.46.5.0—6.5.11;6.4.0—6.4.186.5.12/6.4.19, 상업용
5.8 / 5.75.8.0—5.8.27;5.7.0—5.7.255.8.28/5.7.26, 상업용

출처: S27. spring.ldap.embedded.* 자동 구성 및 직접 인스턴스화 코드 문제를 해결합니다. 생산에 필요하지 않은 구성 요소는 닫고 실제 청취 주소를 확인하십시오. 비즈니스에 꼭 필요한 경우 먼저 호출 소스를 제한한 다음 구성 요소 업그레이드를 완료하세요.

**관련 인증 문제: CVE-2026-47841(High).**WebAuthn 사용자 인증이 REQUIRED로 설정되고 HTTP 세션이 분산 스토리지에 의해 직렬화된 후 잘못된 개체 ID 비교로 인해 인증 요구 사항이 무효화될 수 있습니다. 또한 공격을 위해서는 공격자가 장치 없이 임의의 원격 로그인이 아닌 사용자 인증 장치를 소유해야 합니다. 영향을 받는 해당 버전의 7.1, 7.0, 6.5 및 6.4의 경우 패치 기준은 위 표의 해당 분기와 일치합니다. 확인은 교차 노드 세션을 포함해야 하며 여전히 PIN/생체 인식 확인이 필요합니다. S28

5. Python 생태계: 인터프리터, 표준 라이브러리, 프레임워크 및 인증서

5.1 CVE-2026-19445: SNI 콜백의 SSLContext UAF

출판일: 2026-09-30; PSF 레벨: Critical. Python 서버 TLS에서 sni_callback는 연결을 다른 SSLContext로 전환하고 원래 컨텍스트에 다른 생존 참조가 없는 경우 인증되지 않은 TLS 클라이언트는 서비스를 중단시키거나 해제된 개체의 포인터를 호출할 수 있습니다. S29

핵심은 Python 객체가 기본 TLS 콜백 수명주기와 일치하지 않는다는 것입니다. 원래 컨텍스트는 해제되었으며 기본 레이어는 여전히 콜백에 필요한 상태를 보유할 수 있습니다. 참조 라이프사이클을 수정하려면 인터프리터 기본 패치를 사용해야 합니다. S47

Scope: TLS 클라이언트 역할만 하는 Python 코드는 이 항목의 영향을 받지 않습니다. 원래 컨텍스트를 오랫동안 유지하는 청취 소켓의 일반 모드는 알림에 설명된 특정 실패 경로에 속하지 않습니다. Nginx가 TLS를 종료한 후 로컬 HTTP만 Python에 넘겨주고, Python는 ​​자체적으로 SNI를 직접 처리하는데, 이는 다른 공격 표면입니다. S29

3.10—3.14 고정 버전에 해당하는 2.3. 섹션을 참조하세요. 3.15의 공식 버전이 복구되었으며 실제로 3.15.1를 선택할 수 있습니다. pip 종속성을 업데이트하는 것만으로는 인터프리터의 _ssl 구현을 대체할 수 없습니다. S33S35S47

**공식 임시 완화:**는 서버 수명 주기가 끝날 때까지 SNI 콜백을 설정한 모든 SSLContext에 대한 강력한 참조를 유지합니다. 이는 실제 동적 생성 및 전환 경로를 다루어야 합니다. 사용자 정의 OpenSSL 1.1.1 빌드도 공식 문제 기록과 함께 재협상 조건을 확인하고 업데이트 완료에 우선순위를 부여해야 합니다. S29S47

5.2 CVE-2026-19553: 호스트 이름 플래그가 켜져 있지만 호출 시 호스트 이름이 누락되었습니다.

공개 날짜: 2026-09-30; High.SSLContext.check_hostname=True일 때 wrap_bio()가 server_hostname에서 전달되지 않으면 원래 구현에서는 호스트 이름 확인을 자동으로 건너뛸 수 있습니다. 인증서 체인 확인이 성공했다고 해서 대상 도메인 이름도 일치했다는 의미는 아닙니다. S30

문제 해결에는 두 단계가 모두 필요합니다.

  • 2.3. 섹션에 나열된 인터프리터 보안 릴리스를 설치합니다.
  • wrap_bio(), 관련 asyncio.create_connection() / loop.start_tls() 경로를 확인하고, 예상되는 비어 있지 않은 호스트 이름을 명시적으로 전달하고, 인증서 확인을 켜진 상태로 유지하세요. S30

**생략할 수 없는 호환성 차이점:**3.10, 3.11, 3.12는 호환성을 위한 것이며 호스트 이름이 누락된 일부 경우에는 DeprecationWarning만 발급됩니다. 3.13 이상에서는 ValueError를 발생시킵니다. 또한 3.12 백포트는 None를 빈 문자열과 명확하게 구분합니다. None에 대한 새 경고가 추가되고 빈 문자열에 대해서는 오류가 계속 보고됩니다. 따라서 하위 분기 사용자는 단순히 업그레이드만으로 원래 누락된 도메인 이름 확인이 자동으로 복원되었다고 가정할 수 없습니다. S31S33

테스트 환경에서는 호스트 이름이 일치하지 않는 신뢰할 수 있는 체인 인증서를 사용하고 실제 애플리케이션 TLS 클라이언트가 이를 거부하는지 확인합니다. 단순히 check_hostname 부울 값을 읽는 것만으로는 완전한 승인을 구성하지 않습니다.

5.3 CVE-2026-82049: tarfile 필터의 링크 조합 우회

공개일: 2026-09-14; High. CPython 3.13 및 이전 관련 구현에서 신뢰할 수 없는 tar의 하드 링크와 심볼릭 링크의 조합은 data / tar 추출 필터를 우회하여 압축 풀기 트리의 압축 풀기 디렉터리 외부에 파일 내용을 노출하거나 파일 내용을 수정할 수 있습니다. 권한 및 수정 시간. S32

이 취약점의 확인된 영향에는 파일 콘텐츠 노출 및 메타데이터 수정이 포함됩니다. 이러한 영향만으로는 외부 파일 콘텐츠의 임의 덮어쓰기 또는 RCE의 무조건적인 구현을 입증하기에 충분하지 않습니다.

3.10—3.13의 해당 패치 기준선은 2.3. 섹션을 참조하세요. Python 3.14는 이후 os.link() 동작 변경으로 인해 이 특정 문제에서 제외되었습니다. 3.14.0b1이므로 위 3.10—3.13 분기의 영향을 받는 범위는 적용되지 않습니다. S33

임시적이고 심층적인 조치: 신뢰할 수 없는 아카이브의 자동 추출을 중단합니다. 비즈니스를 처리해야 하는 경우 격리된 낮은 권한의 작업자 프로세스와 새로운 독점 디렉터리를 사용하고, 비즈니스별 기호 링크, 하드 링크 및 장치 항목을 거부하고, 파일 및 압축 해제 리소스 수를 제한합니다. 이는 배포 권장 사항입니다.

filter="data"는 완전 신뢰 전략보다 일반 신뢰할 수 없는 아카이브에 더 적합하지만 이전 버전의 필터 자체에도 이 취약점이 있으며 이 매개변수를 추가하는 것만으로는 업데이트를 대체할 수 없습니다. 필터는 전체 파일 시스템 샌드박스도 아닙니다. S32S45

5.4 보충 위험: CVE-2026-114583(Medium) 및 패치 릴리스 상태

PSF는 2026-10-22에서 특정 링크 이름에 대한 tarfile.tar_filter의 처리를 우회하여 후속 구성원이 다음 수준으로 압축 풀기 디렉터리 외부에 쓸 수 있도록 허용한다고 공개했습니다. Medium. 그날 공식 수정 사항 PR가 병합되었습니다. 2026년 10월 23일 현재 이 커밋이 포함된 공식 유지 관리 릴리스는 확인되지 않았습니다. S40

따라서:

  • 이 품목은 Medium로 별도로 나열됩니다.
  • 10월 21일에 출시된 통역사 버전에는 이 수정 사항이 포함된 것으로 간주할 수 없습니다.
  • 신뢰할 수 없는 아카이브를 처리하기 위해 여전히 filter="tar"를 사용하는 프로세스는 릴리스 백포트를 추적해야 합니다. 짧은 시간 동안 이 처리 경로를 격리하거나 일시 중지합니다. data로 전환하고 링크를 거부할 때 비즈니스 요구 사항을 충족하는지 확인해야 하며 필터 변경은 무조건 샌드박스라고 설명할 수 없습니다.

5.5 GeoDjango: CVE-2026-15307 및 10월의 후속 수정 사항

2026-08-04, Django 공식 High. 공간 쿼리는 특정 문자열/사전을 암시적으로 GDALRaster에 전달하며 드라이버는 파일을 쓰거나 네트워크 요청을 시작할 수 있습니다. RCE는 특정 경로와 후속 실행 조건이 있을 때 형성될 수 있습니다. 공간 필드 모델 보기 권한이 있는 직원은 관리자 변경 목록을 통해 이 경로에 액세스할 수도 있습니다. S38

초기 수정 사항은 공간 조회에서 허용되는 입력 유형을 제한하는 5.2.17 / 6.0.8입니다. 이 변경 사항은 문자열/사전을 사용하여 래스터를 표현하는 원래 비즈니스에 영향을 미칠 수 있습니다. 단순히 신뢰할 수 없는 입력을 GDALRaster에 래핑한다고 해서 이를 검증한다는 의미는 아닙니다. S38

10월 6일에 **CVE-2026-87890(보통)**가 복구되었습니다. 바이트로 표현된 VRT는 외부 리소스를 참조하고 여전히 네트워크 요청을 트리거할 수 있습니다. 같은 날 CVE-2026-15830의 중첩된 형상 DoS 보호도 강화되었습니다. 후자의 두 개는 새로운 고위험 RCE를 설명하기 위해 업그레이드할 수 없지만 배포 기준이 5.2.18 / 6.0.9 / 6.1.2여야 함을 나타냅니다. S39

구현에서는 API 및 관리 인터페이스의 두 진입점을 확인하고 신뢰할 수 없는 공간 조회, 파일 쓰기 권한 및 아웃바운드 액세스를 제한합니다. 업데이트 후 유효한 공간 쿼리를 회귀 테스트하고 금지된 입력을 거부합니다. GeoDjango를 사용하지 않는 일반 Django 애플리케이션은 이 RCE 결론을 직접 적용해서는 안 됩니다.

5.6 certifi / pip: 인증서 신뢰는 모든 사본에 적용되어야 합니다.

GHSA-6q48-6c7w-9gw2, 2026-10-20, Critical, 알려진 CVE는 나열되지 않습니다. eMudhra 중간 CA 사고로 인해 발생한 인증서 불신 업데이트입니다. HTTPS의 암호화 메커니즘이라거나 모든 루트 인증서가 크랙됐다고 요약할 수는 없습니다. S36

certifi 권고는 원래 2026.10.18를 패치로 나열했습니다. PSF는 영향을 받지 않는 루트 인증서와의 호환성을 유지하기 위해 나중에 2026.10.19를 명시적으로 권장했습니다. 운영 기준선은 .19입니다. S36S37

구별해야 할 사항:

신탁 소재 위치따로 확인해야 하는 이유
운영 체제 CA 패키지이미지 또는 호스트에 대한 시스템 신뢰 자료
Venv의 certifiCA bundle는 실제로 애플리케이션이나 요청 등에서 사용됩니다.
pip 내장 certifi외부에 설치된 certifi와 다른 복사본입니다.
uv / 기타 포장 도구도구의 자체 업데이트와 신뢰할 수 있는 소스를 따르세요.
사용자 정의된 CA 파일, 패키지된 스냅샷시스템이나 패키지에 대해 신뢰할 수 있는 기본 소스를 계속해서 재정의할 수 있습니다.

위의 내용은 다양한 포장 위치에 따른 체크리스트입니다. PSF에는 관련 도구, 기존 가상 환경을 업데이트하고 이미지를 다시 빌드해야 합니다. 호스트 CA를 업데이트하거나 인터프리터를 다시 설치하는 것만으로는 모든 복사본이 새로 고쳐졌다는 것을 증명할 수 없습니다. S35S37

이전 pip 보안 부트스트랩에서 업그레이드할 때 PSF는 고정 휠 및 SHA-256에 대한 명령을 제공합니다(부록 S37 참조). 인증서 문제를 우회하기 위해 TLS 확인을 끄거나 --trusted-host를 추가하지 마십시오.

6. 공식적인 교정 프로세스

다음 명령은 확인된 신뢰할 수 있는 환경을 위한 것입니다. 실행 시 기존 패키지 관리자, 프로젝트의 잠금 파일 및 배포 프로세스를 결합하여 npm/pnpm/yarn 또는 pip/uv/Poetry를 혼합하여 충돌하는 잠금 파일을 생성하지 않도록 해야 합니다.

예외를 먼저 처리하십시오: 환경이 섹션 9의 손상된 패키지를 실행했다고 의심되는 경우 먼저 이를 격리하고 깨끗한 환경에서 디스크, 잠금 파일 및 이미지 기록을 확인하십시오. 다음 Python/pip 명령을 먼저 실행하지 마십시오. S41

6.1 실제 트래픽에 대응할 수 있는 원장 구축

각 서비스는 최소한 다음을 기록합니다.

  • 외부 진입점, 역방향 프록시, 원본 사이트에 대한 직접 연결 경로 및 백그라운드 대기열/예약된 작업.
  • 실제 시작 명령, 실행 계정, 바이너리 경로, 프로세스 또는 컨테이너 ID입니다.
  • 런타임 정식 버전, 게시자/저장소, 패키지 정식 버전 또는 이미지 다이제스트.
  • 프레임워크 및 전이적 종속성, 잠금 파일, 기본 라이브러리 및 신뢰 저장소 경로.
  • 취약점 조건 존재 여부, 패치 대상, 재시작 범위, 담당자, 검증 결과에 해당합니다.

개발 머신, CI 실행기, 빌드 컨테이너 및 백그라운드 작업도 신뢰할 수 없는 콘텐츠에 대한 경로에 따라 검사해야 합니다. 공개 웹 컨테이너만 업데이트하지 마세요.

6.2 Node.js: 먼저 런타임을 결정한 다음 애플리케이션 종속성을 업데이트합니다.

실제 서비스 환경을 확인해보세요:

node -p 'JSON.stringify({execPath:process.execPath,node:process.version,openssl:process.versions.openssl,brotli:process.versions.brotli},null,2)'
npm ls next react react-dom react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack sharp --all
npm audit --omit=dev

node -p는 서비스의 실제 실행 파일을 사용하거나 실제 컨테이너 내에서 실행되어야 합니다. 새로 시작된 프로세스를 확인하지만 이전 작업자가 교체되었는지 자체적으로 증명하지는 않습니다. Node는 원래 라이브러리 버전 문자열을 유지하면서 내장된 Brotli에 패치를 추가할 수 있습니다. 따라서 process.versions.brotli에만 의존하여 수리 여부를 확인하지 마십시오. 이를 Node 보안 버전 또는 공급업체의 백포트 증거와 결합해야 합니다. S2S4

npm ls는 실제 종속성 트리를 보는 데 사용됩니다. 누락된 패키지 또는 피어 충돌로 인해 0이 아닌 종료 코드가 생성될 수도 있으므로 특정 출력을 읽어야 합니다. npm audit는 종속성 검사 보조 도구로 사용되며 Node 바이너리 및 기본 라이브러리 검사를 대체할 수 없습니다.

mise를 사용하여 다음과 같이 업데이트할 수 있는 Node 24의 환경을 관리합니다.

mise use -g [email protected]
mise exec [email protected] -- node -p 'process.version + " " + process.execPath'

mise use -g는 글로벌 버전을 구성합니다. 프로젝트의 로컬 구성은 여전히 ​​별도로 확인해야 합니다. 서비스가 이전 절대 경로, 컨테이너 기본 이미지 또는 다른 계정의 환경을 수정한 경우 해당 구성을 업데이트하고 서비스를 다시 시작해야 합니다. 명령 자체는 이전에 실행 중인 프로세스를 대체하지 않습니다. S43

Next 프로젝트에서 선택한 브랜치에 따라 해당 명령을 실행합니다. Next 15의 경우:

# Next 15 分支
npm install --save-exact [email protected]

Next 16의 경우:

# Next 16 分支
npm install --save-exact [email protected]

React/RSC 호환 종속성, 잠금 파일 및 최종 샤프 인스턴스를 확인한 후 프로젝트 프로세스에 따라 빌드합니다. 재현 가능한 설치를 위해 CI에서 업데이트된 잠금 파일을 사용하고, 빌드 후 실행 중인 이미지에서 버전을 확인하세요. 이 긴급 상황에 대한 기본 솔루션으로 주요 버전 전반에 걸쳐 통제되지 않은 자동 복구를 사용하지 마십시오.

6.3 Java: 게시자, 실제 JVM 및 내장 구성 요소 확인

예비 재고:

java -XshowSettings:properties -version

출력의 java.home, java.runtime.version 및 게시자는 서비스에서 실제로 사용되는 JVM와 정렬되어야 합니다. 연결 권한이 있는 JVM의 경우 JDK의 jcmd를 사용하여 로그인 셸뿐만 아니라 대상 프로세스를 확인할 수 있습니다.

신뢰할 수 있는 프로젝트의 종속성을 확인하고 실제 빌드 도구를 기반으로 선택합니다.

./mvnw dependency:tree '-Dincludes=org.apache.tomcat.embed:*,org.springframework.security:*,org.springframework.graphql:*'

./gradlew dependencyInsight --dependency tomcat-embed-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-security-core --configuration runtimeClasspath
./gradlew dependencyInsight --dependency spring-graphql --configuration runtimeClasspath

이러한 빌드 명령은 플러그인을 실행하고 온라인으로 종속성을 해결할 수 있으며 신뢰할 수 있는 프로젝트에서만 실행됩니다. 최종 JAR/WAR 또는 이미지의 실제 JAR을 확인하고 최종 아티팩트를 빌드 파일 선언으로 대체하지 마십시오. Spring 임베디드 Tomcat 부팅에는 애플리케이션을 다시 빌드해야 합니다. 시스템에서 별도의 Tomcat 설치를 업데이트해도 애플리케이션 패키지의 복사본은 수정되지 않습니다.

런타임이 업데이트된 후 사용자 정의된 javax.net.ssl.trustStore, 애플리케이션 자체 로드 KeyStore, jlink 런타임, GraalVM/네이티브 이미지 및 기타 전달 양식을 항목별로 확인하세요. 이미 사용자 정의된 신뢰 자료가 있는 애플리케이션은 JDK 디렉토리가 새로워졌다고 해서 검사를 종료할 수 없습니다.

6.4 Python: 통역사별 및 가상 환경 처리

신뢰할 수 있는 것으로 확인된 실제 Venv/컨테이너 내에서:

python - <<'PY'
import sys
import ssl
import importlib.metadata as metadata

print("executable:", sys.executable)
print("version:", sys.version)
print("openssl:", ssl.OPENSSL_VERSION)
print("verify_paths:", ssl.get_default_verify_paths())
for name in ("pip", "certifi", "Django", "urllib3", "Brotli", "litellm"):
    try:
        print(name + ":", metadata.version(name))
    except metadata.PackageNotFoundError:
        print(name + ": not installed")
PY

python -m pip --version
python -m pip check

이 스크립트는 정보만 수집하며 버전 자격 결정은 수행하지 않습니다. ssl.get_default_verify_paths()는 기본 경로 정보이며 모든 타사 클라이언트가 동일한 신뢰 저장소를 사용한다는 것을 증명할 수 없습니다. 이는 애플리케이션 구성을 기반으로 확인되어야 합니다.

부록 S37의 신뢰할 수 있는 pip 부팅 업그레이드를 완료한 후 프로젝트 제약 조건에 따라 인증서 종속성을 업데이트합니다. 예:

python -m pip install --upgrade 'certifi>=2026.10.19'

# 仅适用于当前就选择 Django 5.2 的项目
python -m pip install --upgrade 'Django>=5.2.18,<5.3'

python -m pip check

프로젝트의 요구 사항/잠금 파일을 동시에 업데이트해야 합니다. 그렇지 않으면 다음 배포 시 이전 버전으로 되돌아갈 수 있습니다. uv, Poetry 또는 엔터프라이즈 패키지 저장소를 사용하는 경우 기존 잠금 및 게시 프로세스를 사용하십시오. 프로덕션 컨테이너 내에서 패키지를 수동으로 수정하지 마세요.

프로젝트의 기존 pip-audit 워크플로를 사용하여 신뢰할 수 있는 환경에서 알려진 종속성 취약성을 확인할 수 있습니다. 이는 악성 코드 스캐너가 아니며 모든 해석기, 시스템 라이브러리 및 신뢰 저장소 위험을 포괄하지 않습니다. S44

시스템 /usr/bin/python3가 새로운 컴파일된 버전을 가리키도록 강제하는 것은 권장되지 않습니다. 시스템 Python에 의존하는 관리 도구가 중단되는 것을 방지하려면 릴리스 보안 업데이트 또는 프로젝트 격리 런타임을 사용하세요. 이는 구현 선택 사항이며 이 취약점에 대한 추가 수정 요구 사항은 아닙니다.

6.5 실행 중인 인스턴스 재구축 및 교체

완전히 변경하려면 다음 단계를 수행하는 것이 좋습니다.

  1. 원래 신뢰할 수 있는 소스에서 패치를 얻고 버전/해시 및 종속성 잠금을 저장합니다.
  2. 프로덕션 환경에 가까운 환경에서 주요 기능을 반환하고 기본 확장이 JVM/프레임워크와 호환되는지 확인합니다.
  3. 런타임, 애플리케이션 종속성 및 실제 신뢰 저장소를 업데이트합니다. 컨테이너의 기본 이미지와 시스템 CA를 새로 고치세요. 이전 레이어만 재사용하지 마세요.
  4. 애플리케이션과 이미지를 다시 빌드하고 서비스, 작업자, 대기열 소비자 및 예약된 작업 인스턴스를 순차적으로 교체합니다.
  5. 새로 실행 중인 인스턴스에서 버전과 구성을 다시 확인하고 이전 복사본이 모두 종료되었는지 확인하세요.
  6. 오류율, 대기 시간, CPU/메모리, TLS 핸드셰이크 실패 및 프로세스 충돌을 관찰하세요.

롤백에서는 안전한 런타임 및 패치 종속성을 유지하고 애플리케이션 구성이나 비즈니스 변경 사항을 롤백하는 데 우선순위를 두어야 합니다. 취약점이 있는 기존 제품으로 반품해야 하는 경우 해당 진입 제한 조치도 동시에 복원해야 하며, 책임자와 최소 복구 기간도 명확히 규정해야 합니다.

7. 임시 완화 및 패치 선택

7.1 임시 조치의 적용 범위

다음은 발표된 활용 조건에 따른 구현 제안입니다. 공식 계획이 명시되지 않는 한 공급업체는 모든 변형이 완전히 차단될 수 있다고 보장하지 않습니다.

위험취할 수 있는 임시조치이를 토대로 완료되었다고 볼 수 없는 부분
Brotli 디코딩신뢰할 수 없는 입력 디코딩을 중지합니다. 인바운드 및 아웃바운드 자동 압축 해제 확인인바운드 WAF 또는 응답 압축을 끄면 모든 디코딩 항목 S3가 포함되지 않습니다.
Next.js typed arrays RCE즉시 업그레이드하세요. 필요한 경우 영향을 받는 서비스를 일시적으로 격리합니다.공식적으로 신뢰할 수 있는 보편적인 해결 방법 S9는 없습니다.
Next.js SVG RCE공식 계획: 실제 샤프가 ≥0.35.5인지 확인합니다. 비즈니스가 허용하는 경우 관련 최적화 진입점을 일시 중지합니다.다른 Next/RSC 문제는 다루지 않습니다. S11
Tomcat 영역 / HTTP/2 / AJP해당 경로를 분리하고 불필요한 커넥터를 닫습니다.여전히 해당 지점 수리 패키지 S21S22S23가 필요합니다.
GraphQL 역직렬화영향을 받은 연결 필드를 일시 중지합니다. 신뢰할 수 없는 발신자 제한요청 길이 제한만으로는 유형/직렬화 해제 문제 S25를 해결할 수 없습니다.
Spring embedded LDAP필요하지 않은 경우 비활성화합니다. 실제 청취 포트의 도달 범위를 제한하십시오.기본 관리 ID 및 디렉터리 무결성을 계속 확인해야 합니다. S27
CPython SNI UAF공식 계획: 서비스가 종료될 때까지 관련 SSLContext 강력한 참조를 유지합니다.모든 생성/전환 경로가 포함되어야 합니다. S29
Python 호스트 이름 건너뛰기공식 솔루션: 예상되는 server_hostname을 올바르게 전달하십시오.check_hostname 플래그를 확인하거나 경고 S30S31를 무시할 수 없습니다.
신뢰할 수 없는 타르추출 비활성화/격리, 불필요한 링크 및 장치 항목 거부필터나 리소스 할당량 모두 범용 샌드박스 S32S40S45가 아닙니다.
인증서 신뢰 이벤트올바른 CA 자료를 업데이트하세요. Java 공식 완화 조치에 따라 신뢰가 제한될 수 있음비활성화 중 TLS 검증은 위험을 증가시킵니다 S19 S37

7.2 배송 방법에 따라 패치 선택

배송 방법수리 방법의 우선순위를 정하세요보관해야 할 증거
배포 관리 런타임제조업체의 해당 보안 업데이트전체 패키지 버전, 발표, 저장소 소스
공식 바이너리/런타임 관리자동일한 지점의 공식 보안 릴리스버전, 소스 및 다이제스트, 실제 실행 경로
자체 컴파일된 Node / CPython일치하는 브랜치의 공식 소스 릴리스 또는 공급업체의 전체 패치 세트커밋 세트, 빌드 매개변수, 종속 라이브러리 및 회귀 결과
Spring / Next / Django지점 내 업데이트, 종속성 잠금 재구축 및 최종 애플리케이션과 호환 가능최종 종속성 트리, JAR/패키지/이미지의 실제 버전
맞춤형 신뢰 저장소공식 철수 계획 또는 철수를 확인하는 공급업체 업데이트실제 사용 경로, 재질 변경, TLS 성공 및 거부 테스트
손상된 환경깨끗하고 신뢰할 수 있는 제품으로 재구축하고 별도의 사고조사 실시기록 패키지/이미지 다이제스트, 설치 기록, 자격 증명 순환 기록

7.3 키 패치 메커니즘 및 검토 초점

  • **Brotli:**는 빌드에 들어가기 전에 기본 디코딩 상태의 경계 확인 및 오류 반환이 완료되었는지 여부에 주의를 기울입니다. JavaScript 패키지만 교체하면 Node로 정적으로 컴파일된 코드를 변경할 수 없습니다. S4
  • **Node DNS/TLS:**는 입력 거부, 주소 정규화, IP SAN과 DNS ID 간의 구별 및 DNS 콜백/약속에 중점을 둡니다. 구문 분석 경로 및 TLS 호스트 이름 일치 테스트. S5S6
  • **Tomcat JNDIRealm:**는 단순히 디렉터리 컨텍스트를 얻는 것이 아니라 인증 프로세스가 실제로 자격 증명을 확인하는지 여부에 중점을 둡니다. 공식 버전의 우선순위를 정하고 단일 소스 파일 교체를 완전한 바이너리 패치로 취급하지 않습니다. S24
  • **CPython ssl:**는 Python 참조 소유권과 기본 SSLContext의 수명 주기에 중점을 둡니다. wrap_bio()는 브랜치 호환성 차이가 있는 동안 백포트하므로 사용된 브랜치의 실제 구현을 읽어야 합니다. S31S47
  • Certificate distrust: 이러한 업데이트는 확실한 API 변경이 아닌 신뢰할 수 있는 자료 또는 거부 목록 변경으로 나타날 수 있습니다. Node의 동일한 배치에는 영향을 받은 중간체 CA의 거부 메커니즘도 포함되어 있습니다. Java 및 Python의 각각의 신뢰 소스는 여전히 별도로 확인해야 합니다. S19S37S46

**독립적인 Brotli 바인딩도 확인해야 합니다.**Google 업스트림 출시 1.0.10/1.1.1/1.2.1를 당일에 수정합니다. CVE-2026-111497. 영향을 받은 동일한 C 구현을 포함하는 Python 기본 확장 또는 JNI 아티팩트는 독립적으로 업데이트/재구축되어야 합니다. 모든 순수 Java 디코더가 영향을 받는다고 추론할 수 없으며 Node를 업그레이드하면 자동으로 다른 언어의 복사본이 대체된다고 가정할 수도 없습니다. S42

8. 확인 및 사후점검

8.1 최소 검증 체크리스트

확인항목증거가 필요합니다
런타임실제 프로세스/컨테이너에서 전체 버전 또는 공급업체 백포트 증거가 정확함
애플리케이션 종속성최종 배포 제품의 Next/RSC/sharp, Tomcat/Spring 및 Django/certifi가 해당 임계값에 도달했습니다.
교체 범위모든 작업자/JVM/컨테이너 복사본과 백그라운드 작업이 새 작업으로 교체되었으며 이전 인스턴스가 종료되었습니다.
TLS유효한 도메인 인증서가 성공합니다. 일치하지 않는 호스트 이름과 잘못된 체인은 정책에 따라 실패합니다. 맞춤형 신탁 상점이 포함되어 있습니다.
eMudhra 불신영향을 받은 중간 CA에 의해 구축된 인증서 체인이 실제 런타임 중에 거부되었거나 특정 공급업체의 보안 빌드/해당 거부 목록이 배포되었다는 증거가 있습니다. 일반 TLS 테스트 또는 Java 8 단축 버전 번호를 기반으로 케이스를 종료할 수 없습니다.
Node 디코딩 및 이미지일반 압축 응답, 업로드, 이미지 최적화 및 RSC 기능을 사용할 수 있습니다. 신뢰할 수 없는 소스 정책이 적용 중입니다.
Java 인증 및 격리잘못된 비밀번호가 거부되었습니다. ID/응답 혼합이 없는 독립적인 사용자 동시 비동기 요청; 예상대로 듣는 LDAP
Python SNI / 아카이브일반 다중 도메인 이름 TLS 비즈니스는 안정적입니다. 보관하면 경로 탐색 및 허용되지 않는 링크가 거부되고 디렉터리 외부의 파일은 수정되지 않습니다.
데이터 및 기능 회귀페이징, 공간 쿼리, 권한 확인 및 백그라운드 작업이 프로젝트의 기존 테스트를 통과했습니다.
자원 및 관찰CPU, 메모리, 오류율, 대기 시간 및 TLS 오류의 비정상적인 증가는 없습니다.
추적성업그레이드 시간, 패키지/이미지 다이제스트, 구성 변경, 검증 결과, 해결되지 않은 항목 저장

이는 구현 승인 권장 사항이며 각 CVE에 대해 공격 스크립트를 생성할 필요가 없습니다. 충돌, 리소스 고갈 및 범위를 벗어난 아카이브와 관련된 확인은 격리된 환경에서 업스트림 회귀 테스트 또는 프로젝트 제어 테스트 데이터를 사용해야 합니다.

8.2 패치와 침입 조사는 다른 작업입니다.

비정상적인 디코딩 오류, 작업자/JVM 충돌, 의심스러운 파일 쓰기, 디렉터리 데이터 변경, 인증 예외, 아웃바운드 요청 및 자격 증명 사용 기록이 있는지 기존 로그를 확인하세요. 이러한 징후는 맥락에 따라 판단해야 합니다. 충돌이나 OOM은 악용 성공의 증거가 아닙니다. 경고가 없다고 해서 시스템이 영향을 받지 않았다는 의미는 아닙니다.

무단 수정, 손상된 자격 증명 또는 확인된 악의적 종속성이 발견되면 증거를 보존하고 관련 인스턴스를 격리하고 영향을 받은 자격 증명을 신뢰할 수 있는 환경에서 교체하고 시스템을 다시 구축해야 합니다. 패치는 공격자가 획득한 토큰을 취소하거나 수정된 ​​데이터를 복원하지 않습니다.

9. 공급망 보안 사고: LiteLLM 1.107.0 침해

**공식 확인 날짜: 2026-10-21.**LiteLLM는 릴리스 파이프라인이 손상되었다고 보고했습니다. PyPI의 litellm==1.107.0와 같은 기간의 일부 Docker/GHCR 제품에는 비밀 도용 및 원격 제어 악성 코드가 포함되어 있어 관련 제품이 철회되었습니다. S41

영향을 확인하려면 이전 설치 기록과 이미지 다이제스트를 확인해야 합니다. latest, main-latest, main-stable 등의 라벨은 이제 깨끗한 이미지를 가리키며, 이는 사고 당시 가져온 제품이 깨끗하다는 것을 증명하지 못합니다. 당시 공식적인 권장 사항은 일시적으로 1.106.2를 고정하는 것이었습니다. 이 권장 사항은 이 사건을 기반으로 한 것이며 배포 중에 다른 보안 공지를 계속 확인해야 합니다. S41

관련 제품이 설치되거나 실행되는 환경의 경우:

  1. 설치기록, 이미지, 로그 등을 분리, 보존하고, 깨끗한 환경에서 점검합니다.
  2. 의심스러운 환경에서 먼저 Python/pip를 시작하지 마십시오. 악성 .pth / sitecustomize.py는 시작 후 다시 실행될 수 있습니다.
  3. 신뢰할 수 있는 소스에서 호스트, venvs/컨테이너를 다시 빌드합니다. 패키지를 제거하거나 다운그레이드할 수는 없습니다.
  4. 실제 접근성을 기반으로 클라우드 자격 증명, LLM 공급자 키, LiteLLM 키 및 데이터베이스 자격 증명을 취소/순환하고 비정상적인 사용을 검토합니다. S41

이는 확인된 공급망 사고이며, 이를 처리할 때 악성 코드 실행, 자격 증명 유출 및 지속성 위험을 고려해야 합니다. 2026년 10월 23일 현재, 당국은 여전히 ​​초기 침입을 조사하고 있었습니다.

부록: 인용 출처 및 링크

다음 소스 검증 날짜는 프로젝트의 공식 보안 발표, 공식 코드 저장소 및 공급업체 지침을 포함하여 2026-10-23입니다. 본문 [Sx]는 이 부록에 해당합니다. 업데이트를 수행할 때 공급업체가 후속 개정판을 출시했는지 확인해야 합니다.

S1 — Node.js: 2026-10-21 보안 공지

S2 — Node.js: 세 가지 유지 관리 라인에 대한 공식 출시 지침

S3 — Vercel: Node.js Brotli RCE 보안 권고

S4 — Node.js: Brotli 공식 패치 제출

S5 — Node.js: TLS 주소 정규화 패치

S6 — Node.js: DNS NUL 검증 패치

S7 — Node.js: 2026-07-29 보안 공지

S8 — Next.js: 2026-10-14 보안 업데이트

참고 자료: S9 — Next.js:typed arrays / use cache RCE

참고 자료: S10 — React:React Server Components RCE

참고 자료: S11 — Next.js:SVG Image Optimization RCE

참고 자료: S12 — Next.js:Server Actions DoS

S13 — Next.js: AVIF 이미지 최적화 RCE

참고 자료: S14 — Next.js:Windows RCE

참고 자료: S15 — Next.js:next/og ImageResponse RCE

참고 자료: S16 — Oracle: October 2026 CPU

S17 — Oracle: CVE-2026-91403 대역 외 경보

  • 목적: 2026-10-21, JSSE 인증서 신뢰 위험, 영향을 받는 제품 및 CVSS 3.1 9.1.
  • 참고 자료: Oracle Security Alert

S18 — Oracle: JDK 공식 버전 및 다운로드

  • 목적: 10월 20일 CPU와 10월 21일 대역 외 버전을 구별합니다. Java 8의 짧은 버전의 제한 사항을 구별합니다.
  • 참고 자료: JDK release list
  • 참고 자료: Oracle Java Download page

S19 — Oracle: eMudhra 임시 출금 계획

S20 — Eclipse Adoptium: 릴리스 빌드 기록

  • 목적: Temurin는 인증서 문제로 인해 재포장되었습니다. Oracle 버전 접미사는 기계적으로 적용할 수 없습니다.
  • 참고 자료: Adoptium Release Scorecards

S21 — Apache Tomcat 9 보안 공지

  • 목적: 9.0.123 수정을 통해 9개 분기의 정확한 영향을 받는 간격.
  • 참고 자료: Tomcat 9 vulnerabilities

S22 — Apache Tomcat 10 보안 공지

S23 — Apache Tomcat 11 보안 공지

  • 목적: Important, 11.0.27, AJP 3개 항목 적용 범위 및 공개/출시 날짜.
  • 참고 자료: Tomcat 11 vulnerabilities

S24 — Apache Tomcat: JNDIRealm 패치 커밋

  • 목적: 인증 검증 격차를 해소하기 위한 공식적인 기반.
  • 참고 자료: JNDIRealm Patch commit

참고 자료: S25 — Spring:GraphQL CVE-2026-59285

참고 자료: S26 — Spring:GraphQL CVE-2026-41699

참고 자료: S27 — Spring Security:CVE-2026-59270

참고 자료: S28 — Spring Security:CVE-2026-47841

S29 — PSF: CVE-2026-19445 독립적 보안 권고

S30 — PSF: CVE-2026-19553 독립적 보안 권고

S31 — CPython: Wrap_bio 공식 패치 및 3.12 백포트

S32 — PSF: CVE-2026-82049 독립적 보안 권고

S33 — CPython: 9월 말/10월 초 공식 보안 릴리스

S34 — CPython: 3.10 마지막 안전 릴리스

  • 목적: 3.10.22 및 업스트림 수명 주기 종료.
  • 참고 자료: Python 3.10.22

S35 — CPython: 2026-10-21 긴급 유지 보수 버전

S36 — certifi: emSign 인증서 불신 공지

S37 — PSF: eMudhra / emSign가 Python 사용자에게 미치는 영향

S37에서 인용한 공식 지침에서 제공하는 pip 부팅 업그레이드 명령은 다음과 같습니다. 신뢰할 수 있는 것으로 확인된 Python 환경에서만 사용하십시오. 9구역에서 중독이 의심되는 경우 우선 격리하고 사건 진행 과정에 따라 재구축한다. 휠 콘텐츠 해시를 수정한 후 프로젝트 프로세스에 따라 다른 종속성을 업데이트합니다.

python -m pip install "pip @ https://files.pythonhosted.org/packages/3f/06/3e4420302363fbb71be3c7f35ce042f54bfca330e3e66b3a2e3c4cca579f/pip-26.2.2-py3-none-any.whl#sha256=fd7f4dfa8190e014013b9f08f3e973f4e4c26ffd179a204895533a7254813a70"

S38 — Django: 2026-08-04 안전 릴리스

  • 사용법: CVE-2026-15307, GeoDjango 악용 조건, 초기 수정 및 호환성 변경.
  • 참고 자료: Django 6.0.8 / 5.2.17

S39 — Django: 2026-10-06 안전 릴리스

S40 — PSF / CPython: 최신 tar_filter 관련 노트

S41 — LiteLLM: 공식 공급망 사고 보고서, 10월 21일

S42 — Google Brotli: 공식 보안 버전

  • 목적: 독립적인 Brotli 1.0.10 / 1.1.1 / 1.2.1 및 교차 언어 내장 사본 검증 기반.
  • 참고 자료: Brotli releases

S43 — mise: 명령 공식 문서 사용

  • 목적: 전역 구성의 도구 버전 및 명령 의미를 지정합니다.
  • 참고 자료: mise use

S44 — PyPA: pip-감사 공식 프로젝트

  • 목적: Python 종속성 취약성 감사의 목적 및 기능 범위입니다.
  • 참고 자료: pip-audit

S45 — Python: tar파일 추출 필터 문서

  • 목적: 데이터 전략, 기본 동작 변경, 샌드박스를 대체할 수 없는 제한 사항.
  • 참고 자료: tarfile extraction filters

S46 — Node.js: 중간 CA 거부 메커니즘

  • 목적: 이 eMudhra 관련 신뢰 체인 처리는 모든 루트 인증서의 암호화 무효화와 동일하지 않습니다.
  • 참고 자료: Node.js PR #66871

S47 — CPython: SNI UAF 기술 노트 및 수정 사항