Skip to main content
Vulnerability Database/CVE-2026-92803

CVE-2026-92803: LibreTranslate Auth Bypass Vulnerability

CVE-2026-92803 is an authentication bypass flaw in LibreTranslate that allows unauthenticated access to translated files. This post explains its technical details, affected versions, impact, and mitigation steps.

Published:

CVE-2026-92803 Overview

CVE-2026-92803 is a missing authorization vulnerability [CWE-862] in LibreTranslate through version 1.9.6. The download_file route omits the access_check decorator applied to other protected endpoints. This omission allows unauthenticated network attackers to retrieve translated files from instances that require API keys. Attackers can also bypass ban list enforcement, undermining rate limiting and abuse controls. The flaw affects self-hosted LibreTranslate deployments used for machine translation workflows, including those exposing translated document downloads to authenticated users only.

Critical Impact

Unauthenticated attackers can download translated files from protected LibreTranslate instances by requesting the download_file route directly, bypassing API key enforcement and ban list controls.

Affected Products

  • LibreTranslate versions through 1.9.6
  • Self-hosted LibreTranslate deployments with API key enforcement enabled
  • LibreTranslate instances relying on ban list controls for abuse mitigation

Discovery Timeline

  • 2026-09-16 - CVE-2026-92803 published to the National Vulnerability Database
  • 2026-09-16 - Last updated in NVD database

Technical Details for CVE-2026-92803

Vulnerability Analysis

LibreTranslate enforces access controls through an access_check decorator applied to sensitive Flask routes. The decorator validates API keys and enforces ban list checks before route handlers execute. The download_file route, which serves translated file outputs, was defined without this decorator. Any client that can reach the endpoint over the network can request translated files without presenting valid credentials.

The result is a confidentiality issue affecting translated file contents. Integrity and availability are not directly impacted, but the ban list bypass weakens abuse controls that operators depend on to mitigate scraping and denial-of-service conditions. See the VulnCheck Advisory for LibreTranslate for the maintainer-confirmed technical breakdown.

Root Cause

The root cause is an inconsistent application of authorization middleware. Route handlers in libretranslate/app.py selectively apply the access_check decorator, and the download_file handler was defined without it. The specific lines are referenced in the LibreTranslate app.py source. This is a classic missing authorization defect where a single omitted decorator exposes a resource that shares the same trust boundary as protected endpoints.

Attack Vector

Exploitation requires only network access to a vulnerable LibreTranslate instance. An attacker issues an HTTP request directly to the download_file route with a valid file identifier. The server returns the translated file without validating an API key or checking the client against the ban list. No user interaction, privileges, or complex conditions are required. See LibreTranslate Issue #1012 for the reported behavior.

No verified public exploit code is available. The vulnerability mechanism is described in the referenced advisory and issue tracker.

Detect Identity Attacks the Moment Authentication Fails

Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.

Stop Identity Attacks

Detection Methods for CVE-2026-92803

Indicators of Compromise

  • HTTP requests to the download_file route lacking an api_key parameter or authorization header on instances configured to require API keys.
  • Successful 200 OK responses to download_file requests from source IP addresses present on the LibreTranslate ban list.
  • Unusual volume of download_file requests from a single IP address without corresponding authenticated /translate API calls.

Detection Strategies

  • Parse LibreTranslate access logs and alert on download_file requests where the request context lacks a valid API key identifier.
  • Correlate ban list entries with successful downloads to identify banned clients still retrieving translated content.
  • Deploy a reverse proxy in front of LibreTranslate that logs authentication headers, enabling detection of unauthenticated access at the network edge.

Monitoring Recommendations

  • Ship LibreTranslate application and reverse proxy logs to a centralized SIEM for correlation across endpoints.
  • Baseline normal download_file request rates per client and alert on statistical deviations.
  • Monitor egress bandwidth from LibreTranslate hosts for spikes indicative of bulk unauthorized downloads.

How to Mitigate CVE-2026-92803

Immediate Actions Required

  • Restrict network access to LibreTranslate instances so only trusted clients can reach the download_file route until a patched release is deployed.
  • Place a reverse proxy such as nginx or Caddy in front of LibreTranslate to enforce authentication on the /download_file path.
  • Audit access logs for prior unauthenticated download_file requests and rotate any sensitive translated content that may have been exposed.

Patch Information

The vulnerability affects LibreTranslate through 1.9.6. Operators should monitor the LibreTranslate GitHub repository and Issue #1012 for a patched release that applies the access_check decorator to the download_file route, then upgrade to that version.

Workarounds

  • Enforce authentication at the reverse proxy layer for the /download_file endpoint using HTTP basic auth or mutual TLS.
  • Bind LibreTranslate to localhost and expose it only through an authenticated gateway.
  • Disable file translation features if they are not required for the deployment, removing the attack surface entirely.
bash
# Example nginx location block enforcing auth on the vulnerable route
location /download_file {
    auth_basic "LibreTranslate";
    auth_basic_user_file /etc/nginx/.htpasswd;
    proxy_pass http://127.0.0.1:5000;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.