Concrete CMS does not validate a CSRF token before processing requests to `/dashboard/extend/update/prepare_remote_upgrade/<remoteMPID>`
The advisory, in context
Concrete CMS 9.5.0 and below does not validate a CSRF token before processing requests to /dashboard/extend/update/prepare_remote_upgrade/<remoteMPID>. An attacker who controls the remote package returned for a known marketplace item ID can overwrite the package PHP on disk and force its upgrade() method to execute in a single browser navigation. This results in remote code execution as the web server user. In order to be vulnerable, the victim must be passing canInstallPackages, victim site must be connected to the Concrete marketplace; and the attacker controls the package returned for a marketplace item ID already installed on the victim site. The Concrete CMS security team thanks @maru1009 for reporting this issue.
Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
Earlier releases before 9.5.1
Fixed in 9.5.1
89 explicitly affected versions
8.0, 8.0.1, 8.0.2, 8.0.3, 8.1.0, 8.2.0, 8.2.0RC2, 8.2.1, 8.3.0, 8.3.1, 8.3.2, 8.4.0, 8.4.0RC3, 8.4.0RC4, 8.4.1, 8.4.2, 8.4.3, 8.4.4, 8.4.5, 8.5.0, 8.5.0RC1, 8.5.0RC2, 8.5.1, 8.5.10, 8.5.11, 8.5.12, 8.5.13, 8.5.14, 8.5.15, 8.5.16, 8.5.17, 8.5.18, 8.5.19, 8.5.2, 8.5.20, 8.5.21, 8.5.3, 8.5.4, 8.5.5, 8.5.6, 8.5.6RC1, 8.5.7, 8.5.8, 8.5.9, 9.0.0, 9.0.0RC1, 9.0.0RC3, 9.0.0RC4, 9.0.1, 9.0.2, 9.1.0, 9.1.1, 9.1.2, 9.1.3, 9.2.0, 9.2.0RC2, 9.2.1, 9.2.2, 9.2.3, 9.2.4, 9.2.5, 9.2.6, 9.2.7, 9.2.8, 9.2.9, 9.3.0, 9.3.1, 9.3.2, 9.3.3, 9.3.4, 9.3.5, 9.3.6, 9.3.7, 9.3.8, 9.3.9, 9.4.0, 9.4.0RC1, 9.4.0RC2, 9.4.1, 9.4.2, 9.4.3, 9.4.4, 9.4.5, 9.4.6, 9.4.7, 9.4.8, 9.5.0, 9.5.0RC1, 9.5.0RC2
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "9.5.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"8.0",
"8.0.1",
"8.0.2",
"8.0.3",
"8.1.0",
"8.2.0",
"8.2.0RC2",
"8.2.1",
"8.3.0",
"8.3.1",
"8.3.2",
"8.4.0",
"8.4.0RC3",
"8.4.0RC4",
"8.4.1",
"8.4.2",
"8.4.3",
"8.4.4",
"8.4.5",
"8.5.0",
"8.5.0RC1",
"8.5.0RC2",
"8.5.1",
"8.5.10",
"8.5.11",
"8.5.12",
"8.5.13",
"8.5.14",
"8.5.15",
"8.5.16",
"8.5.17",
"8.5.18",
"8.5.19",
"8.5.2",
"8.5.20",
"8.5.21",
"8.5.3",
"8.5.4",
"8.5.5",
"8.5.6",
"8.5.6RC1",
"8.5.7",
"8.5.8",
"8.5.9",
"9.0.0",
"9.0.0RC1",
"9.0.0RC3",
"9.0.0RC4",
"9.0.1",
"9.0.2",
"9.1.0",
"9.1.1",
"9.1.2",
"9.1.3",
"9.2.0",
"9.2.0RC2",
"9.2.1",
"9.2.2",
"9.2.3",
"9.2.4",
"9.2.5",
"9.2.6",
"9.2.7",
"9.2.8",
"9.2.9",
"9.3.0",
"9.3.1",
"9.3.2",
"9.3.3",
"9.3.4",
"9.3.5",
"9.3.6",
"9.3.7",
"9.3.8",
"9.3.9",
"9.4.0",
"9.4.0RC1",
"9.4.0RC2",
"9.4.1",
"9.4.2",
"9.4.3",
"9.4.4",
"9.4.5",
"9.4.6",
"9.4.7",
"9.4.8",
"9.5.0",
"9.5.0RC1",
"9.5.0RC2"
]
}