Piwigo: Authenticated RCE via File Upload in Logo Upload Feature
Piwigo is a full featured open source photo gallery application for the web. Prior to 16.4.0, admin/themes_standard_pages.php validates uploaded logo content by MIME type but reuses the attacker-controlled extension from std_pgs_logo when constructing the stored filename. An authenticated administrator can upload image content with a server-executable final extension, causing the file to be placed in the web-accessible logo directory and executed when requested if the web server handles that extension. This can permit arbitrary command execution, data disclosure, modification, persistence, and service disruption. This vulnerability is fixed in 16.4.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-42322
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 06:04 UTC · Revision 1
Source evidence
Piwigo: Authenticated RCE via File Upload in Logo Upload Feature
core-osv · Original sourcePublished 25 Sept 2026, 15:50 UTC
Piwigo is a full featured open source photo gallery application for the web. Prior to 16.4.0, admin/themes_standard_pages.php validates uploaded logo content by MIME type but reuses the attacker-controlled extension from std_pgs_logo when constructing the stored filename. An authenticated administrator can upload image content with a server-executable final extension, causing the file to be placed in the web-accessible logo directory and executed when requested if the web server handles that extension. This can permit arbitrary command execution, data disclosure, modification, persistence, and service disruption. This vulnerability is fixed in 16.4.0.
osv:CVE-2026-42322
Complete source record
{
"id": "e4006262cada1955161318b3e63f040ef76e9d16ae149bae5f0d5a41d55881e0",
"url": "https://osv.dev/vulnerability/CVE-2026-42322",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Piwigo: Authenticated RCE via File Upload in Logo Upload Feature",
"summary": "Piwigo is a full featured open source photo gallery application for the web. Prior to 16.4.0, admin/themes_standard_pages.php validates uploaded logo content by MIME type but reuses the attacker-controlled extension from std_pgs_logo when constructing the stored filename. An authenticated administrator can upload image content with a server-executable final extension, causing the file to be placed in the web-accessible logo directory and executed when requested if the web server handles that extension. This can permit arbitrary command execution, data disclosure, modification, persistence, and service disruption. This vulnerability is fixed in 16.4.0.",
"evidence": "osv:CVE-2026-42322",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-42322",
"aliases": [
"CVE-2026-42322",
"GHSA-7w97-5g4p-xqvv"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/piwigo/piwigo",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "bef1a4ac424b4e986589e4cfc9f4d134f1b16f15"
},
{
"fixed": "1e7f7262cb30e6916779f93e66d5d6579ec75a11"
},
{
"fixed": "4a13ec9a8f4881ae1f23bdfd24d7b90cd0802cdc"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "16.4.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "1e7f7262cb30e6916779f93e66d5d6579ec75a11"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "4a13ec9a8f4881ae1f23bdfd24d7b90cd0802cdc"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "bef1a4ac424b4e986589e4cfc9f4d134f1b16f15"
}
],
"source": "REFERENCES_TAG",
"original_tag": "16.4.0"
}
]
}
}
],
"versions": [
"16.3.0",
"16.2.0",
"16.1.0",
"16.0.0",
"16.0.0RC3",
"16.0.0RC2",
"16.0.0RC1",
"16.0.0beta2",
"16.0.0beta1",
"15.0.0beta3",
"15.0.0beta2",
"15.0.0beta1",
"14.0.0RC2",
"14.0.0RC1",
"14.0.0beta3",
"14.0.0beta2",
"14.0.0beta1",
"13.0.0RC4",
"13.0.0RC3",
"13.0.0RC2",
"13.0.0RC1",
"13.0.0beta2",
"13.0.0beta1",
"12.0.0RC2",
"12.0.0RC1",
"12.0.0beta2",
"12.0.0beta1",
"2.11.0beta4",
"2.11.0beta3",
"2.11.0beta2",
"2.11.0beta1",
"2.10.0RC1",
"2.10.0beta2",
"2.10.0beta1",
"2.9.0RC2",
"2.9.0RC1",
"2.9.0beta2",
"2.9.0beta1",
"2.8.0RC2",
"2.8.0RC1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42322.json"
}
}
],
"modified": "2026-10-28T02:30:26.366272673Z",
"provider": "osv",
"references": [
"https://github.com/Piwigo/Piwigo/releases/tag/16.4.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42322.json",
"https://github.com/Piwigo/Piwigo/security/advisories/GHSA-7w97-5g4p-xqvv",
"https://nvd.nist.gov/vuln/detail/CVE-2026-42322",
"https://github.com/Piwigo/Piwigo/commit/1e7f7262cb30e6916779f93e66d5d6579ec75a11",
"https://github.com/Piwigo/Piwigo/commit/4a13ec9a8f4881ae1f23bdfd24d7b90cd0802cdc"
],
"provider_metadata": {
"cwe_ids": [
"CWE-434"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42322.json"
}
},
"related_cves": [
{
"value": "CVE-2026-42322",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 492926,
"published_at": "2026-09-25T15:50:34.662+00:00"
}