CVE-2024-42330
NoneCVSS
—
EPSS
0.9%
Published
Nov 27, 2024
CISA due date
—
Cloudanix analysis
A bug in how Zabbix reads web server replies could let attackers reach parts of the system that should stay hidden.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The HttpRequest object returns HTTP header strings directly from server responses without proper JavaScript encoding, enabling creation of internal strings that access hidden object properties.
Why it matters to the business
Attackers may bypass access controls or manipulate internal object state in Zabbix monitoring deployments, potentially exposing sensitive configuration or operational data.
How an attack unfolds
An attacker positions a malicious or compromised HTTP server that returns crafted response headers; when Zabbix processes the response via HttpRequest, the unencoded strings allow access to normally inaccessible object properties.
How to fix it
Update zabbix/zabbix to commit f383737f1083e25756c6afaaa8abff05ad11eb50 or later release containing the fix.
How to confirm the fix worked
Confirm the deployed Zabbix source or binary contains commit f383737f1083e25756c6afaaa8abff05ad11eb50; test HttpRequest header handling with crafted responses to verify encoding is applied.
Typical attack path
- Identify Zabbix components that issue HTTP requests via the affected HttpRequest object
- Host or compromise a server that returns specially crafted HTTP response headers
- Trigger the HttpRequest to fetch headers from the attacker-controlled response
- Use resulting internal strings to access hidden object properties and escalate privileges or exfiltrate data
How to detect it
Inspect Zabbix application and web server logs for unexpected HTTP header values or requests to untrusted external hosts; look for post-exploitation indicators of object property manipulation in debug or audit logs.
What your security team should do
- Apply the fixed commit immediately in all Zabbix GIT-based deployments
- Review network egress rules for Zabbix components that perform HTTP requests
- Monitor for unusual object property access patterns in application logs
The record
The HttpRequest object allows to get the HTTP headers from the server's response after sending the request. The problem is that the returned strings are created directly from the data returned by the server and are not correctly encoded for JavaScript. This allows to create internal strings that can be used to access hidden properties of objects.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | zabbix | 0 | 1:5.0.45+dfsg-1+deb11u1 |
| Debian:12 | zabbix | 0 | No fix |
| Debian:13 | zabbix | 0 | 1:7.0.5+dfsg-1 |
| Ubuntu:20.04:LTS | zabbix | 0 | No fix |
| Ubuntu:22.04:LTS | zabbix | 0 | No fix |
| Ubuntu:24.10 | zabbix | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | zabbix | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | zabbix | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | zabbix | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | zabbix | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | zabbix | 0 | No fix |
Related vulnerabilities
- CVE-2024-36465 A low privilege (regular) Zabbix user with API access can use SQL injection vulnerability… Also affects zabbix
- CVE-2024-36464 When exporting media types, the password is exported in the YAML in plain text. Also affects zabbix
- CVE-2024-42333 The researcher is showing that it is possible to leak a small amount of Zabbix Server… Also affects zabbix
- CVE-2024-42332 The researcher is showing that due to the way the SNMP trap log is parsed, an attacker… Also affects zabbix
- CVE-2024-42331 In the src/libs/zbxembed/browser.c file, the es_browser_ctor method retrieves a heap… Also affects zabbix
- CVE-2024-36467 An authenticated user with API access (e.g.: user with default User role), more… Also affects zabbix
- CVE-2024-22117 When a URL is added to the map element, it is recorded in the database with sequential… Also affects zabbix
- CVE-2024-36463 The implementation of atob in "Zabbix JS" allows to create a string with arbitrary… Also affects zabbix