CVE-2026-59251
CBL Mariner 취약성 분석 및 완화

개요

CVE-2026-59251 is a Denial of Service vulnerability in Erlang/OTP's public_key library caused by unbounded certificate policy tree growth during X.509 path validation. A remote unauthenticated attacker can crash the entire BEAM virtual machine by presenting a crafted certificate chain during a TLS handshake. Affected versions include Erlang/OTP 26.2 through 29.x (before 29.0.4, 28.5.0.4, and 27.3.4.15) and public_key library versions 1.15 through 1.21.x (before 1.21.4, 1.20.3.4, and 1.17.1.5). The vulnerability was published on July 27, 2026, and credited to Lukas Backström at Erlang Solutions for responsible disclosure. It carries a CVSS v3.1 score of 7.5 (High) and a CVSS v4.0 score of 8.7 (High) (GitHub Advisory, Red Hat).

기술적 세부 사항

The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling) in lib/public_key/src/pubkey_policy_tree.erl. During RFC 5280 certificate policy processing in public_key:pkix_path_validation/3, the functions pubkey_policy_tree:add_leaves/2 and pubkey_policy_tree:add_leaf_siblings/2 extend the policy tree per policy per certificate without any upper bound, causing exponential growth of M^K nodes (M = policies per certificate, K = chain depth). A modest chain with many policies per certificate is sufficient to pin all BEAM schedulers and exhaust node memory, taking down the entire VM. This is the same vulnerability class as CVE-2023-0464 (OpenSSL's X509_verify_cert policy tree DoS). The fix introduces a monotonic node counter capped at 1,000 nodes, rejecting chains that exceed this limit with {bad_cert, policy_tree_exceeded} (GitHub Commit, GitHub Advisory).

영향

Successful exploitation causes complete denial of service of the affected Erlang/OTP node — BEAM schedulers are pinned and memory is exhausted, crashing the entire VM and all applications running on it. There is no confidentiality or integrity impact; the vulnerability is purely an availability issue. Any application using Erlang's ssl library for TLS that performs certificate path validation is vulnerable, including both TLS servers performing mutual-TLS client authentication and TLS clients validating server certificates, making the attack surface very broad (GitHub Advisory, Red Hat Bugzilla).

악용 가능성

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation as of the time of disclosure. The EPSS score is approximately 0.26%, reflecting low current exploitation probability. The vulnerability is automatable (no user interaction required) and requires no authentication — any attacker who can initiate or respond to a TLS handshake with the target can trigger the DoS. It has not been added to the CISA KEV catalog. No specific threat actor attribution has been reported (GitHub Advisory, Red Hat).

착취 단계

  1. Identify target: Locate services running Erlang/OTP 26.2–29.x that perform TLS certificate path validation — this includes any TLS server with mutual-TLS enabled or any Erlang TLS client connecting to an attacker-controlled server.
  2. Craft malicious certificate chain: Generate a chain of X.509 certificates where each certificate contains a large number of certificate policy OIDs (e.g., 10+ policies per certificate) across multiple chain depths (e.g., 5+ certificates). The policy tree will grow as M^K nodes.
  3. Initiate TLS handshake: Present the crafted certificate chain to the target during the TLS handshake — either by connecting to a mutual-TLS server and sending the chain as the client certificate, or by acting as a malicious TLS server that a vulnerable Erlang client connects to.
  4. Trigger resource exhaustion: The pubkey_policy_tree:add_leaves/2 and pubkey_policy_tree:add_leaf_siblings/2 functions process the chain without bounds, causing exponential memory and CPU consumption that pins BEAM schedulers and exhausts node memory.
  5. VM crash: The entire Erlang/OTP VM crashes, taking down all hosted applications (GitHub Advisory, Red Hat Bugzilla).

타협의 징후

  • Logs: Erlang/OTP crash dumps (erl_crash.dump) indicating memory exhaustion or scheduler overload; BEAM VM exit with out-of-memory errors during TLS handshake processing.
  • Process/System: Sudden spike in CPU usage (all cores pinned) on the Erlang node process; rapid memory growth of the BEAM VM process immediately preceding a crash; OS-level OOM killer events targeting the Erlang process.
  • Network: Unusual TLS handshake attempts from external IPs that do not complete successfully; repeated connection attempts presenting large or unusual client certificates to mutual-TLS endpoints.
  • Application: Services hosted on the Erlang/OTP node becoming unresponsive or crashing unexpectedly; {bad_cert, policy_tree_exceeded} errors in application logs (only on patched versions that have the fix applied).

완화 및 해결 방법

Upgrade to one of the patched Erlang/OTP versions: 29.0.4, 28.5.0.4, or 27.3.4.15 (corresponding to public_key library versions 1.21.4, 1.20.3.4, or 1.17.1.5 respectively). No configuration-level workaround exists to disable the vulnerable code path, as the policy tree grows unconditionally during path validation regardless of cert_policy_opts settings. Partial mitigations for environments that cannot immediately patch include: implementing TLS connection timeouts to limit handshake duration, applying OS-level resource limits (cgroups, ulimit) on the Erlang process, and rate-limiting incoming TLS connections at the network perimeter (GitHub Advisory, Red Hat).

커뮤니티 반응

Red Hat tracked the vulnerability as high severity in their Bugzilla system and published a CVE advisory. Microsoft also acknowledged the vulnerability through their Security Response Center. Security news outlet SecurityOnline.info covered the vulnerability as part of broader Erlang/OTP vulnerability reporting. The vulnerability was noted to be in the same class as OpenSSL's CVE-2023-0464, drawing comparisons to a well-known prior DoS issue in the X.509 policy tree processing space (Red Hat, SecurityOnline).

추가 자료


근원이 보고서는 AI를 사용하여 생성되었습니다.

관련 CBL Mariner 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

CVE-2026-55995HIGH8.7
  • CBL Mariner logoCBL Mariner
  • isns-utils
아니요Jul 29, 2026
CVE-2026-59251HIGH8.7
  • CBL Mariner logoCBL Mariner
  • cpe:2.3:a:erlang:erlang\/otp
아니요Jul 27, 2026
CVE-2026-58227HIGH8.7
  • CBL Mariner logoCBL Mariner
  • cpe:2.3:a:erlang:erlang\/otp
아니요Jul 27, 2026
CVE-2026-44944HIGH8.5
  • CBL Mariner logoCBL Mariner
  • iscsi-initiator-utils
아니요Jul 29, 2026
CVE-2026-44943MEDIUM6.9
  • CBL Mariner logoCBL Mariner
  • open-iscsi
아니요Jul 29, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자