UnPoller Path Traversal / Arbitrary File Read via file:// Password Prefix (CVE-2026-36851)
by Hector Diaz · 2026-07-05
- Severity
- High
- CVE
- CVE-2026-36851
- Category
- misc
- Affected product
- UnPoller (unpoller/unpoller)
- Affected versions
- v2.33.0 (earlier versions likely affected)
- Disclosed
- 2026-07-05
- Patch status
- unpatched
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-06 |
| Author / Researcher | Hector Diaz |
| CVE / Advisory | CVE-2026-36851 |
| Category | misc |
| Severity | High |
| CVSS Score | 7.5 (CVSSv3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) |
| Status | PoC |
| Tags | unpoller, path-traversal, arbitrary-file-read, unifi, cwe-22, cwe-20 |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | UnPoller (unpoller/unpoller) |
| Versions Affected | v2.33.0 (earlier versions likely affected) |
| Language / Platform | Configuration-based PoC (up.conf) |
| Authentication Required | Local (ability to set UnPoller’s UniFi password config value) |
| Network Access Required | Yes (UnPoller sends file contents to the configured UniFi controller URL) |
Summary
UnPoller supports a file:// prefix convention for its UniFi controller password configuration value, intended to read the password from a file on disk. However, the path following the file:// prefix is not restricted, allowing path traversal to read arbitrary files from the host filesystem — the contents of which are then transmitted to the configured (attacker-controllable) UniFi controller URL during the authentication handshake.
Vulnerability Details
Root Cause
The file:// password-loading feature does not validate or restrict the supplied file path, permitting path traversal outside the intended credentials directory.
Attack Vector
- Set UnPoller’s UniFi password configuration value to
file://../../../../etc/passwd(or another sensitive path). - Point the configured UniFi controller URL at an attacker-controlled server.
- UnPoller reads the arbitrary file’s contents and transmits them as the “password” during its authentication request to the attacker’s server, exfiltrating the file.
Impact
Arbitrary file read/exfiltration from the host running UnPoller, limited to whatever files the UnPoller process can read.
Environment / Lab Setup
Target: UnPoller v2.33.0 configured with a `file://`-prefixed password value
Attacker: Any HTTP server to receive the exfiltrated file contents
Proof of Concept
PoC Script
See
up.conf.examplein this folder.
| |
Demonstrates the path-traversal-driven file exfiltration by configuring UnPoller to read an arbitrary file as its “password” and observing it arrive at an attacker-controlled endpoint.
Detection & Indicators of Compromise
Signs of compromise:
- UnPoller configuration files containing file:// password values with traversal sequences (../)
- Unexpected UnPoller outbound connections to non-UniFi-controller hosts
Remediation
| Action | Detail |
|---|---|
| Primary fix | Update UnPoller to a version that restricts file:// password paths to an intended, non-traversable directory |
| Interim mitigation | Audit UnPoller configuration for file:// password values; restrict filesystem permissions for the UnPoller process |
References
Notes
Mirrored from https://github.com/SyntaxSaiyan/CVE-2026-36851 on 2026-07-05.