# CVE-2025-0343: CVE-2025-0343: Swift ASN.1 can crash when parsing maliciously formed BER/DER

> Attackers can cause a denial of service by sending malformed BER/DER data to applications using the Swift ASN.1 library for parsing.

- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/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:** 15 Jan 2025
- **Updated:** 24 Mar 2025
- **Also known as:** GHSA-w8xv-rwgf-4fwh

## What is CVE-2025-0343?

CVE-2025-0343 is a high-severity denial of service vulnerability in Swift ASN1, published on 15 Jan 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Swift ASN.1 can be caused to crash when parsing certain BER/DER constructions. This crash is caused by a confusion in the ASN.1 library itself which assumes that certain objects can only be provided in either constructed or primitive forms, and will trigger a preconditionFailure if that constraint isn't met.

Importantly, these constraints are actually required to be true in DER, but that correctness wasn't enforced on the early node parser side so it was incorrect to rely on it later on in decoding, which is what the library did.

These crashes can be triggered when parsing any DER/BER format object. There is no memory-safety issue here: the crash is a graceful one from the Swift runtime. The impact of this is that it can be used as a denial-of-service vector when parsing BER/DER data from unknown sources, e.g. when parsing TLS certificates.

Weakness: CWE-228 (Improper Handling of Syntactically Invalid Structure)

## Which versions are affected by CVE-2025-0343?

2 open source packages ship an affected version, including github.com/apple/swift-asn1.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `github.com/apple/swift-asn1` | SwiftURL | All versions | 1.3.1 |
| `github.com/apple/swift-asn1` | SwiftURL | All versions | 1.3.1 |

## How do I fix CVE-2025-0343?

Upgrade github.com/apple/swift-asn1 to 1.3.1 or later.

## Is CVE-2025-0343 being exploited?

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

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2025-0343 and fix it if it is affected.

What it is: CVE-2025-0343 is a high-severity denial of service vulnerability in Swift ASN1, published on 15 Jan 2025. 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-2025-0343 in the wild and no public exploit code.

Affected packages and fixed versions:
- github.com/apple/swift-asn1 (SwiftURL): affected all versions; fixed in 1.3.1
- github.com/apple/swift-asn1 (SwiftURL): affected all versions; fixed in 1.3.1

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-2025-0343/ (Markdown: https://insights.sbomify.com/CVE-2025-0343/index.md)
```

## Sources

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

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