Description
Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. Picotls implements its own ASN.1 validation helper, which is used by the minicrypto backend while parsing local PKCS#8 private keys. Prior to commit c14231d801407640bc42c2dcf92783409ea6a7c7, the validator recursively descends into constructed ASN.1 elements without enforcing a maximum nesting depth. If an application loads an attacker-supplied private-key file through ptls_minicrypto_load_private_key(), or otherwise calls the public ASN.1 validation API on untrusted DER, a crafted deeply nested ASN.1 structure can exhaust the process stack and crash the application. Note that the libcrypto (OpenSSL) backend does not use the ASN.1 validation helper of picotls, and therefore is immune to this vulnerability. The vulnerability has been addressed in commit c14231d801407640bc42c2dcf92783409ea6a7c7.
Published: 2026-08-21
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via stack exhaustion
Action: Patch
AI Analysis

Impact

Picotls is a TLS library used by many projects, including h2o. The library implements its own ASN.1 decoder for the minicrypto backend. Prior to the fix, the decoder performed a recursive descent into constructed ASN.1 elements without limiting depth. An attacker who supplies a PKCS#8 private-key file containing an arbitrarily deep ASN.1 structure can cause the decoder to exhaust the process stack, leading to a crash of the application that loads the key. The crash results in a denial of service but does not allow remote code execution or data disclosure. The vulnerability is tied to the CWE-835 category, which represents infinite loops or recursion.

Affected Systems

The affected software is the picotls library released by h2o before commit c14231d801407640bc42c2dcf92783409ea6a7c7. Any application that links to this library and uses the minicrypto backend to load untrusted private keys, or that calls the public ASN.1 validator directly, is vulnerable. Versions of picotls older than the referenced commit are therefore impacted; no specific version numbers are listed in the CNA data.

Risk and Exploitability

The CVSS score of 5.5 indicates a medium severity. The vulnerability requires an attacker to supply a specially crafted ASN.1 file, so the attack vector is local or requires legitimate file upload capability. EPSS information is not available and the flaw is not listed in CISA's KEV catalog, suggesting limited or no catalogued exploitation. Because the impact is a stack exhaustion crash, the risk is moderate; however, for services that rely on continuous availability, the denial of service could be significant. Patch the library promptly to prevent this flaw from being exploitable.

Generated by OpenCVE AI on August 21, 2026 at 22:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade picotls to a version that includes commit c14231d801407640bc42c2dcf92783409ea6a7c7, which limits ASN.1 nesting depth.
  • If the application can switch to the libcrypto/OpenSSL backend, that backend is immune to this flaw and can be used as a temporary mitigation.
  • As a temporary measure, consider reducing the process stack size or monitoring for stack overflow signals, but plan to apply the patch as soon as possible.

Generated by OpenCVE AI on August 21, 2026 at 22:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 24 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
First Time appeared H20
H20 picotis
Vendors & Products H20
H20 picotis

Fri, 21 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
Description Picotls is a TLS protocol library that allows users select different crypto backends based on their use case. Picotls implements its own ASN.1 validation helper, which is used by the minicrypto backend while parsing local PKCS#8 private keys. Prior to commit c14231d801407640bc42c2dcf92783409ea6a7c7, the validator recursively descends into constructed ASN.1 elements without enforcing a maximum nesting depth. If an application loads an attacker-supplied private-key file through ptls_minicrypto_load_private_key(), or otherwise calls the public ASN.1 validation API on untrusted DER, a crafted deeply nested ASN.1 structure can exhaust the process stack and crash the application. Note that the libcrypto (OpenSSL) backend does not use the ASN.1 validation helper of picotls, and therefore is immune to this vulnerability. The vulnerability has been addressed in commit c14231d801407640bc42c2dcf92783409ea6a7c7.
Title picotls has infinite recursion in the minicrypto ASN.1 decoder
Weaknesses CWE-835
References
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-25T14:18:28.158Z

Reserved: 2026-05-11T18:41:13.156Z

Link: CVE-2026-45271

cve-icon Vulnrichment

Updated: 2026-08-25T14:18:24.596Z

cve-icon NVD

Status : Received

Published: 2026-08-21T21:16:59.547

Modified: 2026-08-25T15:16:32.503

Link: CVE-2026-45271

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-24T21:00:12Z

Weaknesses
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')