Description
A host header injection vulnerability in picocms/Pico through 2.1.4 allows an unauthenticated remote attacker to control the origin of JavaScript and CSS assets loaded by the default theme. When base_url is unset (the default), Pico::getBaseUrl in lib/Pico.php builds the base URL from unvalidated Host, X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Port request headers.
Published: 2026-08-10
Score: 6.1 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A host header injection vulnerability allows an unauthenticated remote attacker to manipulate the base URL that Pico generates when the base_url setting is unset. By injecting Host, X-Forwarded-Host, X-Forwarded-Proto, or X-Forwarded-Port headers, the attacker causes the application to build an external base URL which is then propagated to theme_url, assets_url, and plugins_url. The result is that the site’s theme loads JavaScript and stylesheet tags from a domain under the attacker’s control, enabling the injection of arbitrary script payloads or malicious stylesheets. The impact includes potential cross‑site scripting, phishing, or remote code execution within the visitor’s browser.

Affected Systems

picocms Pico, versions up to and including 2.1.4, where the base_url configuration is not set. The vulnerability is present in all installations that use the default configuration and rely on host header information to build URLs.

Risk and Exploitability

The CVSS score of 6.1 indicates a moderate impact with potential high consequences if combined with other flaws. EPSS is not available and the vulnerability is not listed in the CISA KEV catalog, suggesting no known large‑scale exploitation yet. The attack vector is remote over HTTP, requiring the attacker to control the Host header of a request to the target server. An unauthenticated attacker can exploit this by sending a crafted request to any public URL that the Pico site serves, causing browsers visiting the site to load resources from the attacker‑controlled domain.

Generated by OpenCVE AI on August 10, 2026 at 12:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Pico to version 2.1.5 or later where host header sanitization is implemented
  • Configure base_url to a fixed, trusted value to bypass dynamic URL generation
  • If upgrade is not immediately possible, disable or filter X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Port headers in the web server configuration

Generated by OpenCVE AI on August 10, 2026 at 12:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
Description A host header injection vulnerability in picocms/Pico through 2.1.4 allows an unauthenticated remote attacker to control the origin of JavaScript and CSS assets loaded by the default theme. When base_url is unset (the default), Pico::getBaseUrl() in lib/Pico.php builds the base URL from unvalidated Host, X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Port request headers. The resulting URL propagates to theme_url, assets_url, and plugins_url, causing script and stylesheet tags to load resources from an attacker-controlled domain. A host header injection vulnerability in picocms/Pico through 2.1.4 allows an unauthenticated remote attacker to control the origin of JavaScript and CSS assets loaded by the default theme. When base_url is unset (the default), Pico::getBaseUrl in lib/Pico.php builds the base URL from unvalidated Host, X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Port request headers.

Mon, 10 Aug 2026 11:00:00 +0000

Type Values Removed Values Added
Description A host header injection vulnerability in picocms/Pico through 2.1.4 allows an unauthenticated remote attacker to control the origin of JavaScript and CSS assets loaded by the default theme. When base_url is unset (the default), Pico::getBaseUrl() in lib/Pico.php builds the base URL from unvalidated Host, X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Port request headers. The resulting URL propagates to theme_url, assets_url, and plugins_url, causing script and stylesheet tags to load resources from an attacker-controlled domain.
Title picocms Pico - Host Header Injection Enables Script Source Hijacking
Weaknesses CWE-644
References
Metrics cvssV3_1

{'score': 6.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-10T11:47:48.941Z

Reserved: 2026-08-10T10:32:53.854Z

Link: CVE-2026-72574

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T12:30:07Z

Weaknesses
  • CWE-644

    Improper Neutralization of HTTP Headers for Scripting Syntax