picocms Pico - Host Header Injection Enables Script Source Hijacking
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-72574
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 01:33 UTC · Revision 1
Source evidence
picocms Pico - Host Header Injection Enables Script Source Hijacking
core-osv · Original sourcePublished 10 Aug 2026, 10:40 UTC
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.
osv:CVE-2026-72574
Complete source record
{
"id": "fde80bf618cee3b9e2d6088f9511a2f2807214fca14ca3d3be589a169614e208",
"url": "https://osv.dev/vulnerability/CVE-2026-72574",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "picocms Pico - Host Header Injection Enables Script Source Hijacking",
"summary": "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.",
"evidence": "osv:CVE-2026-72574",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-72574",
"aliases": [
"CVE-2026-72574"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/picocms/pico",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "7228129cade3f812f22904b503c939b04a75c9dd"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "2.1.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "2.1.4"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"v2.1.4",
"v2.1.3",
"v2.1.2",
"v2.1.1",
"v2.0.5-beta.1",
"v2.0.4",
"v2.0.3",
"v2.0.2",
"v2.0.1",
"v2.0.0",
"v1.0.6",
"v1.0.5",
"v1.0.4",
"v1.0.3",
"v1.0.2",
"v1.0.1",
"v1.0.0",
"v1.0.0-beta.2",
"v1.0.0-beta.1",
"v0.9",
"0.8",
"0.7",
"v0.6.2",
"v0.6.1",
"v0.6",
"v0.5",
"v0.4.1",
"v0.4",
"v0.3"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72574.json"
}
}
],
"modified": "2026-10-28T02:30:41.223421987Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72574.json",
"https://github.com/picocms/Pico",
"https://nvd.nist.gov/vuln/detail/CVE-2026-72574",
"https://picocms.org",
"https://github.com/picocms/Pico/blob/master/lib/Pico.php"
],
"provider_metadata": {
"cwe_ids": [
"CWE-644"
],
"cna_assigner": "TuranSec",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72574.json"
}
},
"related_cves": [
{
"value": "CVE-2026-72574",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 509123,
"published_at": "2026-08-10T10:40:57.868+00:00"
}