← Back to CVE Explorer

CVE-2026-45135

Full vulnerability record from the local CVENow database.

Description

Caddy is an extensible server platform that uses TLS by default. From 2.7.0 until 2.11.3, the FastCGI transport's splitPos() in modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go misuses golang.org/x/text/search with search.IgnoreCase when the request path contains a non-ASCII byte. Two distinct flaws in that fallback let an attacker mislead Caddy's FastCGI splitting into treating a non-.php (or other configured split_path extension) file as a script. In any deployment where the attacker can place content into a file served via FastCGI (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This vulnerability is fixed in 2.11.3.

Severity
HIGH
CVSS score
8.1 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-06-23 18:17:52.343000
Last modified
2026-10-25 23:10:00.167000
View original CVE JSON
{
  "id": "CVE-2026-45135",
  "sourceIdentifier": "[email protected]",
  "published": "2026-06-23T18:17:52.343",
  "lastModified": "2026-10-25T23:10:00.167",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Caddy is an extensible server platform that uses TLS by default. From 2.7.0 until 2.11.3, the FastCGI transport's splitPos() in modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go misuses golang.org/x/text/search with search.IgnoreCase when the request path contains a non-ASCII byte. Two distinct flaws in that fallback let an attacker mislead Caddy's FastCGI splitting into treating a non-.php (or other configured split_path extension) file as a script. In any deployment where the attacker can place content into a file served via FastCGI (uploads, file storage, etc.), this can be escalated to remote code execution by crafting a URL whose path triggers either flaw. This vulnerability is fixed in 2.11.3."
    },
    {
      "lang": "es",
      "value": "Caddy es una plataforma de servidor extensible que usa TLS por defecto. Desde la 2.7.0 hasta la 2.11.3, la función splitPos() del transporte FastCGI en modules/caddyhttp/reverseproxy/fastcgi/fastcgi.go hace un uso incorrecto de golang.org/x/text/search con search.IgnoreCase cuando la ruta de la solicitud contiene un byte no ASCII. Dos fallos distintos en esa alternativa permiten a un atacante engañar la división FastCGI de Caddy para que trate un archivo que no es .php (u otra extensión de split_path configurada) como un script. En cualquier despliegue donde el atacante pueda colocar contenido en un archivo servido a través de FastCGI (cargas, almacenamiento de archivos, etc.), esto puede escalarse a ejecución remota de código al crear una URL cuya ruta active cualquiera de los fallos. Esta vulnerabilidad está corregida en la 2.11.3."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "caddyserver",
          "product": "caddy",
          "versions": [
            {
              "version": ">= 2.7.0, < 2.11.3",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
          "baseScore": 8.1,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "HIGH",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 2.2,
        "impactScore": 5.9
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-06-23T18:30:00.592778Z",
          "id": "CVE-2026-45135",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-20"
        },
        {
          "lang": "en",
          "value": "CWE-176"
        },
        {
          "lang": "en",
          "value": "CWE-178"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:caddyserver:caddy:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "2.7.0",
              "versionEndExcluding": "2.11.3",
              "matchCriteriaId": "929EBC65-CE84-403E-BF54-03AA66C3B09E"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/caddyserver/caddy/security/advisories/GHSA-m675-2p33-xv9g",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://github.com/caddyserver/caddy/security/advisories/GHSA-m675-2p33-xv9g",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Vendor Advisory"
      ]
    }
  ]
}