# CVE-2026-58102: Memory corruption in Crypt::OpenSSL::X509

> A heap out-of-bounds read in the Perl Crypt::OpenSSL::X509 library allows attackers to expose adjacent heap memory via crafted certificate extension OIDs.

- **Severity:** Critical 9.1 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 13 Jul 2026
- **Updated:** 14 Jul 2026
- **Also known as:** DEBIAN-CVE-2026-58102, GHSA-crh7-2j46-hqrj, UBUNTU-CVE-2026-58102

## What is CVE-2026-58102?

CVE-2026-58102 is a critical memory corruption vulnerability in JONASBN Crypt::OpenSSL::X509, published on 13 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Crypt::OpenSSL::X509 versions before 2.1.3 for Perl allow a heap out-of-bounds read via a long certificate extension OID in hv_exts.

When building the extension hash (via extensions(), extensions_by_long_name(), extensions_by_oid(), or has_extension_oid()), the code passes OBJ_obj2txt()'s return value as the hash-key length; because that value is the OID's full text length rather than the bytes written to the fixed-size buffer (129 bytes), an OID whose text is longer than the 129-byte buffer causes a read past the allocation, exposing adjacent heap memory as the returned hash key. extensions_by_name() uses the static shortname path and is not affected.

Weakness: CWE-125 (Out-of-bounds Read)

## Which versions are affected by CVE-2026-58102?

It affects 1 product.


Products: Jonasbn Crypt\.

## How do I fix CVE-2026-58102?

Upgrade to a fixed version.

## Is CVE-2026-58102 being exploited?

There is no known exploitation of CVE-2026-58102 in the wild and no public exploit code.

## Other vulnerabilities in JONASBN Crypt::OpenSSL::X509

- [CVE-2026-58101](https://insights.sbomify.com/CVE-2026-58101/): Crypt::OpenSSL::X509 versions before 2.1.3 for Perl allow denial of service via NULL pointer dereference (high 7.5)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-58102 and fix it if it is affected.

What it is: CVE-2026-58102 is a critical memory corruption vulnerability in JONASBN Crypt::OpenSSL::X509, published on 13 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-58102 in the wild and no public exploit code.

Affected product: JONASBN Crypt::OpenSSL::X509. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-58102/ (Markdown: https://insights.sbomify.com/CVE-2026-58102/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-58102
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-58102
- OSV: https://osv.dev/vulnerability/CVE-2026-58102

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-58102/
Summaries are generated and may contain mistakes; the official description above is the record.
