Skip to main content

HAProxy Ingress Controller CVE-2025-59303

MEDIUM
Incomplete Filtering of Special Elements (CWE-791)
2025-10-08 cve@mitre.org
6.4
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain create/update RBAC on Ingress
  2. Delivery
    Submit Ingress with crafted config snippet
  3. Exploit
    Controller processes snippet with config-snippets enabled
  4. Execution
    Ingress token secret returned in response
  5. Impact
    Reuse leaked secret to escalate access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input filtering completeness
Exploitation Conditions

Exploitation requires two specific preconditions: (1) the HAProxy Kubernetes Ingress Controller must be running with the non-default 'config-snippets' feature flag enabled, and (2) the attacker must already possess Kubernetes RBAC create/update permissions on Ingress resources (PR:L). When both hold, submitting a config snippet causes the controller to return the ingress token secret in its response. Limiting factors that reduce real-world risk: the config-snippets flag is an opt-in feature not enabled by default, and the attacker needs a legitimate (or compromised) authenticated identity with write access to Ingress objects - anonymous or read-only accounts cannot exploit this. Affected versions are before 3.1.13; the issue is remediated in HAProxy Enterprise Kubernetes Ingress Controller 3.0.16-ee1, 1.11.13-ee1, and 1.9.15-ee1.

Impact

This is a moderate-priority, configuration-dependent information disclosure rather than a widespread emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N, base 6.4) indicates a network-reachable flaw requiring low privileges and no user interaction, with a scope change (S:C) reflecting that the attacker crosses from their namespaced RBAC role into the controller's trust boundary to retrieve a secret it manages. Crucially, PR:L confirms the attacker must already hold create/update permissions on Ingress resources - this is an authenticated, privileged-insider or compromised-service-account scenario, not anonymous remote exploitation. The EPSS score is low (0.26%, 16th percentile), there is no CISA KEV listing, and no public exploit has been identified, all of which align: this is a recently disclosed, niche-precondition issue unlikely to see mass scanning. The single material caveat is the non-default precondition - exploitation only applies when the 'config-snippets' feature flag is enabled - which the CVSS base vector does not express and which materially lowers real-world exposure below what the 6.4 score alone suggests. No conflicting signals were found across sources; the chief limitation is the thinness of sourcing (a single vendor blog reference).

Exploit ScenarioDerived

In a cluster where the HAProxy Kubernetes Ingress Controller is deployed with the config-snippets feature flag enabled, an attacker who already holds create/update permissions on Ingress objects (e.g., a tenant in a multi-tenant cluster or a compromised namespaced service account) submits a crafted Ingress with a malicious config snippet. The controller's handling of the snippet returns the ingress token secret in its response, exposing a credential the attacker's role should never see. No public proof-of-concept is currently available, and low attack complexity means the request itself is trivial once the privilege and configuration preconditions are met.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 08, 2026

Information disclosure in HAProxy Kubernetes Ingress Controller before 3.1.13 allows an authenticated attacker with Kubernetes RBAC create/update permissions on Ingress resources to obtain an ingress token secret when the non-default config-snippets feature flag is enabled. Exploitation requires two specific preconditions: the config-snippets feature flag must be active, and the attacker must already possess create/update permissions on Ingress objects. No public exploit code has been identified, and the EPSS score is 0.26% (16th percentile), indicating low likelihood of exploitation. The issue is fixed in version 3.1.13 for the open-source controller and in enterprise versions 3.0.16-ee1, 1.11.13-ee1, and 1.9.15-ee1.

RemediationAI

Upgrade to HAProxy Kubernetes Ingress Controller 3.1.13 or later (open source) or to the corresponding fixed enterprise releases: 3.0.16-ee1, 1.11.13-ee1, or 1.9.15-ee1. If immediate upgrade is not possible, disable the config-snippets feature flag; note that this may remove intended customization capability. Additionally, restrict Kubernetes RBAC permissions so that only highly trusted users have create/update rights on Ingress resources, and monitor audit logs for unexpected config snippet submissions. Refer to the vendor advisory at https://haproxy.com/blog/cve-2025-59303-haproxy-kubernetes-ingress-controller-secret-leak for details.

Affected ProductsAI

HAProxy Kubernetes Ingress Controller versions before 3.1.13 are affected when the config-snippets feature flag is enabled. HAProxy Enterprise Kubernetes Ingress Controller versions prior to 3.0.16-ee1, 1.11.13-ee1, and 1.9.15-ee1 are also vulnerable. The feature flag is not enabled by default, reducing the attack surface. For details, see the vendor advisory at https://haproxy.com/blog/cve-2025-59303-haproxy-kubernetes-ingress-controller-secret-leak.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The HAProxy Kubernetes Ingress Controller manages HAProxy configuration based on Kubernetes Ingress resources. When the config-snippets feature flag is enabled, users with create/update permissions on Ingress objects can inject custom HAProxy configuration snippets. Due to improper handling (CWE-791: Incomplete Filtering of Special Elements), the controller may include the ingress token secret in its response when processing such snippets. This secret could be used to further compromise the cluster. The vulnerability is configuration-dependent and requires the non-default feature flag to be active. Affected versions are before 3.1.13; the enterprise versions are fixed as noted.

Know when Haproxy gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.4 MEDIUM

Attacker needs create/update Ingress RBAC (PR:L); the leak crosses from a namespaced role into the controller's secret, so S:C; limited token disclosure gives C:L, snippet injection I:L.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Red Hat 8.5 MEDIUM

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

HAProxy Kubernetes Ingress Controller before 3.1.13, when the config-snippets feature flag is used, accepts config snippets from users with create/update permissions. This can result in obtaining an ingress token secret as a response. The fixed versions of HAProxy Enterprise Kubernetes Ingress Controller are 3.0.16-ee1, 1.11.13-ee1, and 1.9.15-ee1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Medium
common Kubernetes ingress controller, but one of several alternatives, not default
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2016-5360 HIGH
7.5 Jun 30

HAproxy 1.6.x before 1.6.6, when a deny comes from a reqdeny rule, allows remote attackers to cause a denial of service

CVE-2021-40346 HIGH POC
7.5 Sep 08

An integer overflow exists in HAProxy 2.0 through 2.5 in htx_add_header that can be exploited to perform an HTTP request

CVE-2019-18277 HIGH POC
7.5 Oct 23

A flaw was found in HAProxy before 2.0.6. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no

CVE-2019-14243 HIGH POC
7.5 Jul 23

headerv2.go in mastercactapus proxyprotocol before 0.0.2, as used in the mastercactapus caddy-proxyprotocol plugin throu

CVE-2019-14241 HIGH POC
7.5 Jul 23

HAProxy through 2.0.2 allows attackers to cause a denial of service (ha_panic) via vectors related to htx_manage_client_

CVE-2023-40225 HIGH POC
7.2 Aug 10

HAProxy through 2.0.32, 2.1.x and 2.2.x through 2.2.30, 2.3.x and 2.4.x through 2.4.23, 2.5.x and 2.6.x before 2.6.15, 2

CVE-2019-8953 MEDIUM POC
6.1 Feb 20

The HAProxy package before 0.59_16 for pfSense has XSS via the desc (aka Description) or table_actionsaclN parameter, re

CVE-2026-109575 CRITICAL
9.8 Oct 12

Unauthenticated remote attackers can gain full administrative control of the HAProxy Data Plane API - and through it the

CVE-2019-19330 CRITICAL
9.8 Nov 27

The HTTP/2 implementation in HAProxy before 2.0.10 mishandles headers, as demonstrated by carriage return (CR, ASCII 0xd

CVE-2023-25725 CRITICAL
9.1 Feb 14

HAProxy before 2.7.3 may allow a bypass of access control because HTTP/1 headers are inadvertently lost in some situatio

CVE-2026-55203 CRITICAL
9.0 Jun 18

FastCGI framing desynchronization in HAProxy through 3.4.0 stems from a 16-bit integer overflow in the fcgi_conn demux r

CVE-2014-6269 MEDIUM POC
5.0 Sep 30

Multiple integer overflows in the http_request_forward_body function in proto_http.c in HAProxy 1.5-dev23 before 1.5.4 a

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy