DoS vulnerability on `alloy_dyn_abi::TypedData` hashing
An uncaught panic triggered by malformed input to `alloy_dyn_abi::TypedData` could lead to a denial-of-service (DoS) via `eip712_signing_hash()`. Software with high availability requirements such as network services may be particularly impacted. If in use, external auto-restarting mechanisms can partially mitigate the availability issues unless repeated attacks are possible. The vulnerability was patched by adding a check to ensure the element is not empty before accessing its first element; an error is returned if it is empty. The fix is included in version [v1.4.1](https://crates.io/crates/alloy-dyn-abi/1.4.1) and backported to [v0.8.26](https://crates.io/crates/alloy-dyn-abi/0.8.26). There is no known workaround that mitigates the vulnerability. Upgrading to a patched version is the recommended course of action. Reported by [Christian Reitter](https://github.com/cr-tk) & [Zeke Mostov](https://github.com/emostov) from [Turnkey](https://www.turnkey.com/).
- Products
- alloy-dyn-abi
- Affected versions
- Not specified
- Fixed versions
- 0.8.26, 1.4.1
- CVEs
- CVE-2025-62370
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 08:44 UTC · Revision 1
Source evidence
DoS vulnerability on `alloy_dyn_abi::TypedData` hashing
core-osv · Original sourcePublished 15 Oct 2025, 12:00 UTC
An uncaught panic triggered by malformed input to `alloy_dyn_abi::TypedData` could lead to a denial-of-service (DoS) via `eip712_signing_hash()`. Software with high availability requirements such as network services may be particularly impacted. If in use, external auto-restarting mechanisms can partially mitigate the availability issues unless repeated attacks are possible. The vulnerability was patched by adding a check to ensure the element is not empty before accessing its first element; an error is returned if it is empty. The fix is included in version [v1.4.1](https://crates.io/crates/alloy-dyn-abi/1.4.1) and backported to [v0.8.26](https://crates.io/crates/alloy-dyn-abi/0.8.26). There is no known workaround that mitigates the vulnerability. Upgrading to a patched version is the recommended course of action. Reported by [Christian Reitter](https://github.com/cr-tk) & [Zeke Mostov](https://github.com/emostov) from [Turnkey](https://www.turnkey.com/).
osv:RUSTSEC-2025-0073
alloy-dyn-abi
Fixed versions: 0.8.26, 1.4.1
Complete source record
{
"id": "f0ab655d5e5a6f44cd1c4588af4281faefb3abfe7c4308d7c4cb8535926df8e2",
"url": "https://osv.dev/vulnerability/RUSTSEC-2025-0073",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DoS vulnerability on `alloy_dyn_abi::TypedData` hashing",
"summary": "An uncaught panic triggered by malformed input to `alloy_dyn_abi::TypedData` could lead to a denial-of-service (DoS) via `eip712_signing_hash()`. Software with high availability requirements such as network services may be particularly impacted. If in use, external auto-restarting mechanisms can partially mitigate the availability issues unless repeated attacks are possible. The vulnerability was patched by adding a check to ensure the element is not empty before accessing its first element; an error is returned if it is empty. The fix is included in version [v1.4.1](https://crates.io/crates/alloy-dyn-abi/1.4.1) and backported to [v0.8.26](https://crates.io/crates/alloy-dyn-abi/0.8.26). There is no known workaround that mitigates the vulnerability. Upgrading to a patched version is the recommended course of action. Reported by [Christian Reitter](https://github.com/cr-tk) & [Zeke Mostov](https://github.com/emostov) from [Turnkey](https://www.turnkey.com/).",
"evidence": "osv:RUSTSEC-2025-0073",
"products": [
{
"name": {
"value": "alloy-dyn-abi",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "0.8.26",
"evidence": "/affected/0/ranges"
},
{
"value": "1.4.1",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "RUSTSEC-2025-0073",
"aliases": [
"CVE-2025-62370",
"GHSA-pgp9-98jm-wwq2",
"RUSTSEC-2025-0073"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0.0.0-0"
},
{
"fixed": "0.8.26"
},
{
"introduced": "1.0.0"
},
{
"fixed": "1.4.1"
}
]
}
],
"package": {
"name": "alloy-dyn-abi",
"purl": "pkg:cargo/alloy-dyn-abi",
"ecosystem": "crates.io"
},
"database_specific": {
"cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"source": "https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0073.json",
"categories": [
"denial-of-service"
],
"informational": null
},
"ecosystem_specific": {
"affects": {
"os": [],
"arch": [],
"functions": [
"alloy_dyn_abi::eip712::Resolver::encode_type"
]
},
"affected_functions": null
}
}
],
"modified": "2026-10-12T18:00:11.503365345Z",
"provider": "osv",
"references": [
"https://crates.io/crates/alloy-dyn-abi",
"https://rustsec.org/advisories/RUSTSEC-2025-0073.html",
"https://github.com/alloy-rs/core/commit/7823e9af8c20e9fcfb5360f5eafd891c457ebccf"
],
"provider_metadata": {
"license": "CC0-1.0"
}
},
"related_cves": [
{
"value": "CVE-2025-62370",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 306422,
"published_at": "2025-10-15T12:00:00+00:00"
}