CVE-2026-45271: picotls has infinite recursion in the minicrypto ASN.1 decoder

Published Aug 21, 2026
·
Updated

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 ptlsminicryptoloadprivatekey(), 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.

Affected Software

1 affected component
picotls picotls<c14231d801407640bc42c2dcf92783409ea6a7c7

Event History

Aug 21, 2026
CVE Published
via MITRE·09:00 PM
Data Sourced
via MITRE·09:00 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Applications using Picotls' minicrypto backend are exposed when they load attacker-supplied PKCS#8 private-key files with ptls_minicrypto_load_private_key(), or when they validate untrusted DER through the public ASN.1 validation API. Deployments using the libcrypto (OpenSSL) backend are not affected.

2

What does an attacker need to cause an impact?

An attacker needs to cause the application to parse a crafted, deeply nested ASN.1 structure from untrusted input. Exploitation exhausts the process stack and crashes the application; the stated impact is denial of service.

3

What should be done if an update cannot be applied immediately?

Do not pass attacker-controlled private-key files or untrusted DER data to the minicrypto private-key loader or public ASN.1 validation API. Where feasible, use the libcrypto (OpenSSL) backend, which does not use the affected Picotls ASN.1 validation helper.

4

How can I determine whether my code path is affected?

Review whether the application uses the minicrypto backend and calls ptls_minicrypto_load_private_key() on untrusted PKCS#8 input, or invokes Picotls' public ASN.1 validation API on untrusted DER. The issue is addressed by commit c14231d801407640bc42c2dcf92783409ea6a7c7.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203