CVE-2026-81515 is a high-severity (CVSS 7.5) CWE-755 vulnerability in Steeltoe.Discovery.Eureka. A fix is available for Steeltoe.Discovery.Eureka — see the affected versions and patch details below.
Steeltoe.Discovery.Eureka: malformed enum/bool/timestamp field aborts entire registry fetch (DoS)
Exploitation Status
No confirmed exploitation observed yet
- CISA assesses this as automatable — exploitation doesn’t require manual, per-target effort, which raises the odds of mass scanning and opportunistic attacks.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-81515.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
CVE-2026-81515 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.
Where this sits among everything scored
Of 384,189 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
Steeltoe.Discovery.EurekaReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects NuGet packages — download data is not available via public APIs for these ecosystems.
Description
Summary
Steeltoe's Eureka discovery client deserializes the registry response as a single unit. If any registered instance contains a field value that cannot be parsed (for example, an unrecognized actionType, a non-boolean value for isCoordinatingDiscoveryServer, or a non-numeric timestamp), deserialization of the entire registry fails. All Steeltoe Eureka clients connected to that registry then receive an empty or stale instance list until the malformed registration is removed.
This is a related but distinct issue from CVE-2026-50196, which addressed only the DataCenterInfo.name field.
Impact
Any principal that can register or update a service instance in the Eureka registry can trigger a service-discovery outage for all Steeltoe applications connected to the same registry. The outage persists until the offending registration is removed.
Affected configuration
- Application uses
EurekaDiscoveryClient(any deployment, including self-hosted Eureka). - The registry contains at least one service instance with an unrecognized value in a field such as
actionType,status,isCoordinatingDiscoveryServer, or timestamp fields. - Mixed-platform environments — for example, Java or Spring services co-existing in the same Eureka registry — are more likely to encounter this condition.
Mitigations
If an immediate upgrade is not possible:
- Audit the Eureka registry for registrations containing non-standard field values, particularly those originating from non-.NET clients.
- Restrict write access to the Eureka registration API to trusted services.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| .NETNuGet | Steeltoe.Discovery.Eureka | ≥ 4.0.0&&< 4.3.0 | 4.3.0dotnet add package Steeltoe.Discovery.Eureka --version 4.3.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for Steeltoe.Discovery.Eureka, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update Steeltoe.Discovery.Eureka to 4.3.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-81515 is resolved across your whole dependency graph.
Workarounds
Do not deserialise data from untrusted sources: where the format allows it, restrict deserialisation to an explicit allowlist of expected types, and prefer a data-only format (JSON, Protobuf) over one that can reconstruct arbitrary objects until you can upgrade.
Frequently Asked Questions
Is CVE-2026-81515 in your dependencies?
Find it across NuGet, including transitive dependencies.