GHSA-hr73-3gpv-hh6q: High severity nuget/Steeltoe.Discovery.Eureka vulnerability
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 Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
nuget/Steeltoe.Discovery.Eurekato a version that resolves this vulnerability.Fixed in 4.3.0 - Compensating control
Restrict write access to the Eureka registration API to trusted services/principals only, so unauthorized or malformed registrations cannot be added/updated in the registry.
- Operational
Audit the Eureka registry for registrations containing non-standard field values (especially those originating from non-.NET clients), such as unrecognized values in fields like actionType, status, isCoordinatingDiscoveryServer, or non-numeric/non-parseable timestamp fields.
- Operational
Remove the malformed/offending Eureka service instance registration from the Eureka registry; the outage for Steeltoe Eureka clients persists until the offending registration is removed.
Event History
Frequently Asked Questions
Are self-hosted Eureka deployments affected?
Yes. Any deployment using EurekaDiscoveryClient can be affected, including self-hosted Eureka, if the registry contains a service instance with an unparseable field value.
What level of access does an attacker need to cause the outage?
The attacker needs the ability to register or update a service instance in the Eureka registry. No other prerequisite is specified.
How long does the service-discovery disruption last?
It persists until the malformed registration is removed. Steeltoe Eureka clients connected to the same registry can receive an empty or stale instance list during that time.
What registration values should be investigated when triaging an incident?
Look for unrecognized or invalid values in fields including actionType, status, isCoordinatingDiscoveryServer, and timestamps. Examples include an unrecognized actionType, a non-boolean isCoordinatingDiscoveryServer value, or a non-numeric timestamp.