CVE-2026-48797
Received Received - Intake
Authentication Bypass in Backpropagate Reflex UI

Publication date: 2026-06-17

Last updated on: 2026-06-17

Assigner: GitHub, Inc.

Description
Backpropagate is a Python library for fine-tuning large language models on a single GPU. In versions 1.1.0 and 1.1.1, the optional Reflex web UI exposes a training control plane without authentication: 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." and--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. An attacker who reaches the bound port can read uploaded datasets, trigger arbitrary training runs against any local base models as well as read their paths, trigger HuggingFace Hub pushes and cause disk-fill DoS. This issue has been fixed in version 1.2.0. If developers cannot immediately upgrade to 1.2.0 run backprop ui with no flags so it binds to localhost, use SSH port-forwarding (ssh -L 7860:localhost:7860 <training-host>) instead of --share for remote access, and audit any host previously launched with --share, re-issuing any HF tokens used during those sessions.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-17
Last Modified
2026-06-17
Generated
2026-06-17
AI Q&A
2026-06-17
EPSS Evaluated
N/A
NVD
Affected Vendors & Products
Showing 4 associated CPEs
Vendor Product Version / Range
mcp_tool_shop_org backpropagate 1.1.0
mcp_tool_shop_org backpropagate 1.1.1
mcp_tool_shop_org backpropagate to 1.2.0 (exc)
mcp_tool_shop_org backpropagate 1.2.0
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-358 The product does not implement or incorrectly implements one or more security-relevant checks as specified by the design of a standardized algorithm, protocol, or technique.
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
CWE-1295 The product fails to adequately prevent the revealing of unnecessary and potentially sensitive system information within debugging messages.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

The vulnerability allows unauthenticated access to the Reflex web UI, enabling attackers to read uploaded datasets, trigger arbitrary training runs, push tampered models to external repositories, and cause denial-of-service conditions. This unauthorized access to potentially sensitive data and operations can lead to violations of data protection and security requirements mandated by standards such as GDPR and HIPAA.

Specifically, the exposure of datasets without authentication compromises confidentiality and integrity of data, which are core principles in these regulations. The ability to push tampered models and cause denial-of-service also undermines system integrity and availability, further impacting compliance.

Therefore, organizations using affected versions of backpropagate (1.1.0 and 1.1.1) without the patch risk non-compliance with common data protection and security standards until they upgrade to version 1.2.0 or apply recommended mitigations such as restricting UI access to localhost and using SSH port-forwarding.

Detection Guidance

This vulnerability can be detected by checking if the backpropagate Reflex web UI is running with the vulnerable versions 1.1.0 or 1.1.1 and if it is exposing the UI without proper authentication despite using the --auth or --share flags.

You can detect the vulnerability by scanning for open ports where the Reflex UI is bound (default port 7860) and attempting to access the UI without authentication.

Suggested commands include:

  • Use netstat or ss to check if the Reflex UI port is open and listening: `netstat -tuln | grep 7860` or `ss -tuln | grep 7860`
  • Use curl or a web browser to attempt accessing the UI endpoint without authentication: `curl http://<host>:7860`
  • Check the process command line to see if backpropagate is running with the --auth or --share flags: `ps aux | grep backpropagate`
  • Audit any SSH port-forwarding or network exposure that might allow remote access to the Reflex UI port.
Executive Summary

The vulnerability in backpropagate versions 1.1.0 and 1.1.1 involves the Reflex web UI exposing a training control plane without enforcing authentication, despite CLI flags suggesting otherwise.

Although the CLI accepts the --auth user:pass flag to require HTTP Basic authentication and the --share flag to expose the UI publicly with authentication, the Reflex backend never reads the authentication environment variable and does not implement any authentication middleware or request guards.

As a result, any client that can reach the bound portβ€”locally or remotelyβ€”has full access to the UI without needing to authenticate.

Impact Analysis

This vulnerability allows attackers who can access the bound port to perform several malicious actions without authentication.

  • Read uploaded datasets.
  • Trigger arbitrary training runs on any local base models and read their file paths.
  • Push tampered or unauthorized model weights to the HuggingFace Hub.
  • Cause denial-of-service conditions by filling disk space through unchecked file uploads.
Mitigation Strategies

The primary mitigation is to upgrade backpropagate to version 1.2.0 or later, which includes proper authentication middleware and multiple security improvements.

If immediate upgrade is not possible, avoid using the --auth or --share flags when running the backpropagate UI.

Instead, run the UI bound only to localhost (no flags) and use SSH port-forwarding to securely access the UI remotely, for example: `ssh -L 7860:localhost:7860 <training-host>`.

Audit any hosts previously launched with the --share flag and re-issue any HuggingFace tokens used during those sessions to prevent unauthorized access.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-48797. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart