# CVE-2026-48205: Apache Camel DNS Has Improper Input Validation, Leading to Server-Side Request Forgery (SSRF)

> Attackers can manipulate HTTP headers to force DNS lookups against attacker-controlled servers or internal hosts, enabling SSRF and network reconnaissance.

- **Severity:** Critical 9.1 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 6 Jul 2026
- **Updated:** 6 Jul 2026
- **Also known as:** GHSA-hcm8-x79p-wx2w

## What is CVE-2026-48205?

CVE-2026-48205 is a critical server-side request forgery vulnerability in Apache Camel, published on 6 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Improper Input Validation, Server-Side Request Forgery (SSRF) vulnerability in Apache Camel DNS component.

The camel-dns producers read DNS operation parameters - the resolver to query, the name or domain to look up, the record type and class, and the search term - from Exchange message headers whose constant values (DnsConstants.DNS_SERVER, DNS_NAME, DNS_DOMAIN, DNS_TYPE, DNS_CLASS, TERM) were the plain strings dns.server, dns.name, dns.domain, dns.type, dns.class and term. Because these names do not start with the Camel / camel prefix, HttpHeaderFilterStrategy - which blocks only the Camel header namespace on the HTTP boundary - let them pass from an inbound HTTP request straight into the Exchange. In a route that bridges an HTTP consumer (for example platform-http) into a dns: producer, any HTTP client could therefore set the dns.server header to make the dig producer build a SimpleResolver pointing at an attacker-controlled DNS server - a server-side request forgery via DNS, through which the attacker observes the queried name and can return poisoned responses - and set the dns.name / dns.domain headers to resolve arbitrary internal hostnames, disclosing whether they exist (internal network reconnaissance). No credentials are required when the bridging consumer is unauthenticated.
This issue affects Apache Camel: from 4.0.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0.

Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. After upgrading, routes that drive DNS operations via the raw header names must use CamelDnsServer / CamelDnsName / CamelDnsDomain / CamelDnsType / CamelDnsClass / CamelDnsTerm instead of the dns.* / term names. For deployments that cannot upgrade immediately, strip the dns.* and term headers from any untrusted ingress before the dns: producer, and set the DNS server and lookup parameters from a trusted source in the route.

Weakness: CWE-918 (Server-Side Request Forgery), CWE-20 (Improper Input Validation)

## Which versions are affected by CVE-2026-48205?

6 open source packages ship an affected version, including org.apache.camel:camel-dns. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `org.apache.camel:camel-dns` | Maven | From 4.0.0 | 4.14.8 |
| `org.apache.camel:camel-dns` | Maven | From 4.0.0 | 4.14.8 |
| `org.apache.camel:camel-dns` | Maven | From 4.15.0 | 4.18.3 |
| `org.apache.camel:camel-dns` | Maven | From 4.15.0 | 4.18.3 |
| `org.apache.camel:camel-dns` | Maven | From 4.19.0 | 4.21.0 |
| `org.apache.camel:camel-dns` | Maven | From 4.19.0 | 4.21.0 |

Products: Apache Camel.

## How do I fix CVE-2026-48205?

Upgrade org.apache.camel:camel-dns to a fixed version for your release line: 4.14.8, 4.18.3 or 4.21.0.

## Is CVE-2026-48205 being exploited?

There is no known exploitation of CVE-2026-48205 in the wild and no public exploit code.

Public exploit code:

- Reproducer for CVE-2026-48205: Apache Camel camel-dns dns.* header injection redirecting DNS queries to an attacker-controlled resolver (SSRF via DNS) and enabling internal-hostname reconnaissance (fixed in 4.14.8/4.18.3/4.21.0) (github_poc): https://github.com/oscerd/CVE-2026-48205

## Other vulnerabilities in Apache Camel

- [CVE-2026-33453](https://insights.sbomify.com/CVE-2026-33453/): Apache camel-coap allows header injection that can lead to remote code execution (critical 10.0)
- [CVE-2026-40453](https://insights.sbomify.com/CVE-2026-40453/): Apache Camel has an incomplete fix for CVE-2025-27636 (critical 9.9)
- [CVE-2026-80351](https://insights.sbomify.com/CVE-2026-80351/): Apache Camel K: Camel K Tenant repositories reach Maven execution inside operator pod (critical 9.8)
- [CVE-2026-80352](https://insights.sbomify.com/CVE-2026-80352/): Apache Camel K: Camel K Master trait serviceAccountName YAML injection lets CR author apply arbitrary objects (critical 9.8)
- [CVE-2026-71300](https://insights.sbomify.com/CVE-2026-71300/): Apache Camel: Camel-Atmosphere-Websocket: WebSocket dispatch header injection (critical 9.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-48205 and fix it if it is affected.

What it is: CVE-2026-48205 is a critical server-side request forgery vulnerability in Apache Camel, published on 6 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-48205 in the wild and no public exploit code.

Affected packages and fixed versions:
- org.apache.camel:camel-dns (Maven): affected from 4.0.0; fixed in 4.14.8
- org.apache.camel:camel-dns (Maven): affected from 4.0.0; fixed in 4.14.8
- org.apache.camel:camel-dns (Maven): affected from 4.15.0; fixed in 4.18.3
- org.apache.camel:camel-dns (Maven): affected from 4.15.0; fixed in 4.18.3
- org.apache.camel:camel-dns (Maven): affected from 4.19.0; fixed in 4.21.0
- org.apache.camel:camel-dns (Maven): affected from 4.19.0; fixed in 4.21.0

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-48205/ (Markdown: https://insights.sbomify.com/CVE-2026-48205/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-48205
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-48205
- OSV: https://osv.dev/vulnerability/CVE-2026-48205

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-48205/
Summaries are generated and may contain mistakes; the official description above is the record.
