Skip to content
Heist/ feed
Back to feed
Medium

frp: Authentication bypass in frp HTTP vhost routing when routeByHTTPUser is used for access control

Type: advisorySources: OSV

frp is a fast reverse proxy. From 0.43.0 to 0.68.0, frp contains an authentication bypass in the HTTP vhost routing path when routeByHTTPUser is used as part of access control. In proxy-style requests, the routing logic uses the username from Proxy-Authorization to select the routeByHTTPUser backend, while the access control check uses credentials from the regular Authorization header. As a result, an attacker who can reach the HTTP vhost entrypoint and knows or can guess the protected routeByHTTPUser value may access a backend protected by httpUser / httpPassword even with an incorrect Proxy-Authorization password. This issue affects deployments that explicitly use routeByHTTPUser. It does not affect ordinary HTTP proxies that do not use this feature. This vulnerability is fixed in 0.68.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-40910
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 01:30 UTC · Revision 1

Source evidence

frp: Authentication bypass in frp HTTP vhost routing when routeByHTTPUser is used for access control

core-osv · Original source

Published 21 Apr 2026, 20:09 UTC

frp is a fast reverse proxy. From 0.43.0 to 0.68.0, frp contains an authentication bypass in the HTTP vhost routing path when routeByHTTPUser is used as part of access control. In proxy-style requests, the routing logic uses the username from Proxy-Authorization to select the routeByHTTPUser backend, while the access control check uses credentials from the regular Authorization header. As a result, an attacker who can reach the HTTP vhost entrypoint and knows or can guess the protected routeByHTTPUser value may access a backend protected by httpUser / httpPassword even with an incorrect Proxy-Authorization password. This issue affects deployments that explicitly use routeByHTTPUser. It does not affect ordinary HTTP proxies that do not use this feature. This vulnerability is fixed in 0.68.1.

osv:CVE-2026-40910
Complete source record
{
  "id": "723b73156ba8ca2265f63196a7cc64e60cfd0a4cc552a435e5fc8b1a6aac8d93",
  "url": "https://osv.dev/vulnerability/CVE-2026-40910",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "frp: Authentication bypass in frp HTTP vhost routing when routeByHTTPUser is used for access control",
    "summary": "frp is a fast reverse proxy. From 0.43.0 to 0.68.0, frp contains an authentication bypass in the HTTP vhost routing path when routeByHTTPUser is used as part of access control. In proxy-style requests, the routing logic uses the username from Proxy-Authorization to select the routeByHTTPUser backend, while the access control check uses credentials from the regular Authorization header. As a result, an attacker who can reach the HTTP vhost entrypoint and knows or can guess the protected routeByHTTPUser value may access a backend protected by httpUser / httpPassword even with an incorrect Proxy-Authorization password. This issue affects deployments that explicitly use routeByHTTPUser. It does not affect ordinary HTTP proxies that do not use this feature. This vulnerability is fixed in 0.68.1.",
    "evidence": "osv:CVE-2026-40910",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-40910",
      "aliases": [
        "CVE-2026-40910",
        "GHSA-pq96-pwvg-vrr9",
        "GO-2026-5549"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/fatedier/frp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "fe5fb0326b2aa7741d5b5d8f8c4c3ca12bb4ed91"
                },
                {
                  "fixed": "4ec8de973f52a1cabde54ad3499216cf1bc3dbaf"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.68.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:fatedier:frp:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0.43.0"
                      },
                      {
                        "fixed": "0.68.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.68.0",
            "v0.67.0",
            "v0.66.0",
            "v0.65.0",
            "v0.64.0",
            "v0.63.0",
            "v0.62.1",
            "v0.62.0",
            "v0.61.2",
            "v0.61.1",
            "v0.61.0",
            "v0.60.0",
            "v0.59.0",
            "v0.58.1",
            "v0.58.0",
            "v0.57.0",
            "v0.56.0",
            "v0.55.1",
            "v0.55.0",
            "v0.54.0",
            "v0.53.2",
            "v0.53.1",
            "v0.53.0",
            "v0.52.3",
            "v0.52.2",
            "v0.52.1",
            "v0.52.0",
            "v0.51.3",
            "v0.51.2",
            "v0.51.1",
            "v0.51.0",
            "v0.50.0",
            "v0.49.0",
            "v0.48.0",
            "v0.47.0",
            "v0.46.1",
            "v0.46.0",
            "v0.45.0",
            "v0.44.0",
            "v0.43.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-40910.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:48.772465569Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40910.json",
        "https://github.com/fatedier/frp/security/advisories/GHSA-pq96-pwvg-vrr9",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-40910"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-287"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40910.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-40910",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 516998,
  "published_at": "2026-04-21T20:09:00.893+00:00"
}