GHSA-8phw-xrj9-cpqp: Infoleak

Published Sep 17, 2026
·
Updated

Summary

Steeltoe's /actuator/httpexchanges endpoint records and displays request URIs after passing them through MaskedUri. The masking only covers the UserInfo portion of the URI (inline user:password@host credentials) and does not inspect the query string. With IncludeQueryString enabled by default, any secrets carried in query strings (for example: OAuth tokens, password-reset tokens, signed-URL signatures, API keys) are returned verbatim in the uri field of the response and written to logs at DEBUG level.

Impact

Any caller who can reach /actuator/httpexchanges can receive full request URIs from prior traffic, including any secrets those URIs contained in their query strings. Applications with DEBUG-level logging enabled for the Steeltoe.Management.Endpoint.Actuators.HttpExchanges namespace also write these URIs to their application logs.

Affected configuration

- httpexchanges is explicitly added to the actuator exposure list (Management:Endpoints:Web:Exposure:Include). It is not included by default. - The application handles requests that carry secrets in query strings, such as OAuth callbacks, signed URLs, or password-reset links. - DEBUG logging is enabled for Steeltoe.Management.Endpoint.Actuators.HttpExchanges (log exposure only).

Mitigations

If an immediate upgrade is not possible:

- Remove httpexchanges from the actuator exposure list, or restrict it behind authentication. - Set Management:Endpoints:HttpExchanges:IncludeQueryString to false to strip query strings from recorded exchanges entirely.

Affected Software

1 affected componentFixes available
nuget/Steeltoe.Management.Endpoint<=4.2.0
4.3.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade nuget/Steeltoe.Management.Endpoint to a version that resolves this vulnerability.

    Fixed in 4.3.0
  2. Configuration

    Set `Management:Endpoints:HttpExchanges:IncludeQueryString` to `false` to strip query strings from recorded exchanges entirely.

    Steeltoe Management - Actuators (HttpExchanges) Management:Endpoints:HttpExchanges:IncludeQueryString = false
  3. Configuration

    Remove `httpexchanges` from the actuator exposure list (`Management:Endpoints:Web:Exposure:Include`) or restrict access to the `/actuator/httpexchanges` endpoint behind authentication.

    Steeltoe Management Endpoints Management:Endpoints:Web:Exposure:Include = Remove `httpexchanges`
  4. Configuration

    Disable DEBUG-level logging (or increase log level) for the `Steeltoe.Management.Endpoint.Actuators.HttpExchanges` namespace to prevent recorded request URIs (including prior query-string secrets) from being written to application logs.

    Steeltoe Management - Actuators (HttpExchanges) logging DEBUG logging for `Steeltoe.Management.Endpoint.Actuators.HttpExchanges` = disable/raise log level above DEBUG

Event History

Sep 17, 2026
Advisory Published
via GitHub·06:01 PM
Data Sourced
via GitHub·06:01 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Is a default Steeltoe actuator deployment exposed?

No. The httpexchanges endpoint is not included in the default actuator exposure list. Exposure requires explicitly adding httpexchanges to Management:Endpoints:Web:Exposure:Include.

2

What access does an attacker need to retrieve leaked values?

The attacker must be able to reach the /actuator/httpexchanges endpoint. They can then receive full URIs from prior requests, including secrets present in query strings.

3

How can I determine whether my application is affected?

Check whether httpexchanges is explicitly exposed through Management:Endpoints:Web:Exposure:Include and whether the application processes secrets in query strings. Also check whether DEBUG logging is enabled for the Steeltoe.Management.Endpoint.Actuators.HttpExchanges namespace, as affected URIs are written to application logs at that level.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203