criticalVulnerability

CVE-2026-48797

## Summary In `backpropagate >= 1.1.0`, the optional Reflex web UI (`pip install backpropagate[ui]`, launched via `backprop ui`) exposes a training control plane: dataset upload, model load, training start/stop, multi-run orchestration, GGUF export, and HuggingFace Hub push. The CLI accepts two operator-facing flags intended as security controls: - `--auth user:pass` — documented as "require HTTP Basic authentication on every request to the UI." - `--share` — documented as "expose the UI on a public address; requires `--auth`." When `--auth user:pass` is passed, the CLI prints `Auth: enabled (user: <username>)` to confirm to the operator that authentication is active, then exports `BACKPROPAGATE_UI_AUTH=user:pass` to the subprocess that launches the Reflex backend. **The Reflex backend (`backpropagate/ui_app/**`) never reads `BACKPROPAGATE_UI_AUTH`.** No authentication middleware is registered. No request-level guard runs. No WebSocket upgrade guard runs. Any client that reaches the bound port — local or remote, depending on whether `--share` is used — has full UI access. An inline comment at `backpropagate/cli.py:1217-1218` in the v1.1.0 source documents the gap: *"For Phase 1 the variable is exported but Reflex doesn't read it yet."* This comment was internal-facing; the user-facing documentation (README, CHANGELOG, SHIP_GATE) advertised the contract as enforced. This advisory is filed primarily because the runtime contradicted an operator-facing security claim. Code-only bugs of comparable shape (auth check missing entirely from a path) would already warrant disclosure; the additional false-promise dimension raises the severity. ## Impact An attacker who reaches the bound port can: - **Read uploaded datasets** rendered in the UI preview, including content of any JSONL/CSV/TXT file the legitimate operator has uploaded for fine-tuning. - **Trigger arbitrary training runs** against any base model the operator has installed locally or that can be downloaded

Properties

ghsa_id
GHSA-f65r-h4g3-3h9h
severity
critical
summary
Backpropagate: backprop ui --auth and backprop ui --share do not enforce authentication
epss_score
0.00324
cve_id
CVE-2026-48797
is_ghsa_only
false
ghsa_published
2026-06-26T20:34:29Z
source_url
https://github.com/advisories/GHSA-f65r-h4g3-3h9h
epss_percentile
0.24928
ghsa_updated
2026-06-26T20:34:30Z

Related Entities (9)

ENRICHED_BY (1)

[Source]FIRST EPSS

VULNERABLE_TO (2)

[Software]pip/backpropagate
[Software]npm/@mcptoolshop/backpropagate

AFFECTS (2)

[Software]npm/@mcptoolshop/backpropagate
[Software]pip/backpropagate

HAS_WEAKNESS (3)

[Weakness]Improperly Implemented Security Check for Standard
[Weakness]Debug Messages Revealing Unnecessary Information
[Weakness]Missing Authorization

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-48797 — Ninja Signal Threat Intelligence | Ninja Signal