CVE Vulnerabilities

CVE-2023-34036

Improper Neutralization of HTTP Headers for Scripting Syntax

Published: Jul 17, 2023 | Modified: Nov 21, 2024
CVSS 3.x
5.3
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS 2.x
RedHat/V2
RedHat/V3
Ubuntu

Reactive web applications that use Spring HATEOAS to produce hypermedia-based responses might be exposed to malicious forwarded headers if they are not behind a trusted proxy that ensures correctness of such headers, or if they dont have anything else in place to handle (and possibly discard) forwarded headers either in WebFlux or at the level of the underlying HTTP server.

For the application to be affected, it needs to satisfy the following requirements:

  • It needs to use the reactive web stack (Spring WebFlux) and Spring HATEOAS to create links in hypermedia-based responses.
  • The application infrastructure does not guard against clients submitting (X-)Forwarded… headers.

Weakness

The product does not neutralize or incorrectly neutralizes web scripting syntax in HTTP headers that can be used by web browser components that can process raw headers, such as Flash.

Affected Software

Name Vendor Start Version End Version
Spring_hateoas Vmware * 1.5.5 (excluding)
Spring_hateoas Vmware 2.0.0 (including) 2.0.5 (excluding)
Spring_hateoas Vmware 2.1.0 (including) 2.1.0 (including)
Spring_hateoas Vmware 2.1.0-milestone1 (including) 2.1.0-milestone1 (including)
Spring_hateoas Vmware 2.1.0-rc1 (including) 2.1.0-rc1 (including)

Extended Description

An attacker may be able to conduct cross-site scripting and other attacks against users who have these components enabled. If a product does not neutralize user controlled data being placed in the header of an HTTP response coming from the server, the header may contain a script that will get executed in the client’s browser context, potentially resulting in a cross site scripting vulnerability or possibly an HTTP response splitting attack. It is important to carefully control data that is being placed both in HTTP response header and in the HTTP response body to ensure that no scripting syntax is present, taking various encodings into account.

Potential Mitigations

References