# CVE-2026-45088: Dalfox Server Mode has an Unauthenticated Arbitrary File Read with Out-of-Band Exfiltration via `custom-payload-file`

> Unauthenticated attackers can read arbitrary files on the host via path traversal in Dalfox server mode, exfiltrating data through scan traffic.

- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/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:** 27 May 2026
- **Updated:** 27 May 2026
- **Also known as:** GHSA-35wr-x7v6-9fv2, GO-2026-5070

## What is CVE-2026-45088?

CVE-2026-45088 is a high-severity path traversal vulnerability in hahwul dalfox, published on 27 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

Dalfox is a powerful open-source XSS scanner and utility focused on automation. Prior to 2.13.0, when dalfox is run in REST API server mode, the custom-payload-file field in model.Options is JSON-tagged and deserialized directly from the attacker's request body, then propagated unchanged through dalfox.Initialize into the scan engine. The engine passes the value to voltFile.ReadLinesOrLiteral, which reads lines from any file path accessible to the dalfox process and embeds each line as an XSS payload in outbound HTTP requests directed at the attacker-controlled target URL. Because the server has no API key by default, an unauthenticated network attacker can exfiltrate the contents of arbitrary files on the dalfox host by reading them line-by-line through scan traffic. This vulnerability is fixed in 2.13.0.

Weakness: CWE-73 (External Control of File Name or Path), CWE-552 (Files or Directories Accessible to External Parties), CWE-306 (Missing Authentication for Critical Functionality)

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

4 open source packages ship an affected version, including github.com/hahwul/dalfox/v2 and github.com/hahwul/dalfox.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `github.com/hahwul/dalfox/v2` | Go | All versions | 2.13.0 |
| `github.com/hahwul/dalfox/v2` | Go | All versions | 2.13.0 |
| `github.com/hahwul/dalfox/v2` | Go | All versions | 2.13.0 |
| `github.com/hahwul/dalfox` | Go | All versions | None |

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

Upgrade github.com/hahwul/dalfox/v2 to 2.13.0 or later.

## Is CVE-2026-45088 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45088 exists.

## Fix prompt for AI coding agents

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

What it is: CVE-2026-45088 is a high-severity path traversal vulnerability in hahwul dalfox, published on 27 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45088 exists.

Affected packages and fixed versions:
- github.com/hahwul/dalfox/v2 (Go): affected all versions; fixed in 2.13.0
- github.com/hahwul/dalfox/v2 (Go): affected all versions; fixed in 2.13.0
- github.com/hahwul/dalfox/v2 (Go): affected all versions; fixed in 2.13.0
- github.com/hahwul/dalfox (Go): affected all versions; no fix listed

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-45088/ (Markdown: https://insights.sbomify.com/CVE-2026-45088/index.md)
```

## Sources

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

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