Ability to switch channels via GET parameter enabled in production environments
The advisory, in context
Impact
This vulnerability gives the ability to switch channels via the _channel_code GET parameter in production environments. This was meant to be enabled only when %kernel.debug% is set to true.
However, if no sylius_channel.debug is set explicitly in the configuration, the default value which is %kernel.debug% will be not resolved and cast to boolean, enabling this debug feature even if that parameter is set to false.
Patches
Patch has been provided for Sylius 1.3.x and newer - 1.3.16, 1.4.12, 1.5.9, 1.6.5. Versions older than 1.3 are not covered by our security support anymore.
Workarounds
Unsupported versions could be patched by adding the following configuration to run in production:
sylius_channel:
debug: false
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 1.3.16
Fixed in 1.3.16
101 explicitly affected versions
v0.1.0, v0.10.0, v0.11.0, v0.12.0, v0.13.0, v0.14.0, v0.15.0, v0.16.0, v0.17.0, v0.18.0, v0.19.0, v0.2.0, v0.3.0, v0.5.0, v0.6.0, v0.7.0, v0.8.0, v0.9.0, v1.0.0, v1.0.0-alpha.1, v1.0.0-alpha.2, v1.0.0-beta.1, v1.0.0-beta.2, v1.0.0-beta.3, v1.0.0-rc.1, v1.0.0-rc.2, v1.0.1, v1.0.10, v1.0.11, v1.0.12, v1.0.13, v1.0.14, v1.0.15, v1.0.16, v1.0.17, v1.0.18, v1.0.2, v1.0.3, v1.0.4, v1.0.5, v1.0.6, v1.0.7, v1.0.8, v1.0.9, v1.1.0, v1.1.0-RC, v1.1.1, v1.1.10, v1.1.11, v1.1.12, v1.1.13, v1.1.14, v1.1.15, v1.1.16, v1.1.17, v1.1.18, v1.1.2, v1.1.3, v1.1.4, v1.1.5, v1.1.6, v1.1.7, v1.1.8, v1.1.9, v1.2.0, v1.2.0-BETA, v1.2.0-RC, v1.2.1, v1.2.10, v1.2.11, v1.2.12, v1.2.13, v1.2.14, v1.2.15, v1.2.16, v1.2.17, v1.2.2, v1.2.3, v1.2.4, v1.2.5, v1.2.6, v1.2.7, v1.2.8, v1.2.9, v1.3.0, v1.3.0-BETA, v1.3.1, v1.3.10, v1.3.11, v1.3.12, v1.3.13, v1.3.14, v1.3.15, v1.3.2, v1.3.3, v1.3.4, v1.3.5, v1.3.6, v1.3.7, v1.3.8, v1.3.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.3.16"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v0.1.0",
"v0.10.0",
"v0.11.0",
"v0.12.0",
"v0.13.0",
"v0.14.0",
"v0.15.0",
"v0.16.0",
"v0.17.0",
"v0.18.0",
"v0.19.0",
"v0.2.0",
"v0.3.0",
"v0.5.0",
"v0.6.0",
"v0.7.0",
"v0.8.0",
"v0.9.0",
"v1.0.0",
"v1.0.0-alpha.1",
"v1.0.0-alpha.2",
"v1.0.0-beta.1",
"v1.0.0-beta.2",
"v1.0.0-beta.3",
"v1.0.0-rc.1",
"v1.0.0-rc.2",
"v1.0.1",
"v1.0.10",
"v1.0.11",
"v1.0.12",
"v1.0.13",
"v1.0.14",
"v1.0.15",
"v1.0.16",
"v1.0.17",
"v1.0.18",
"v1.0.2",
"v1.0.3",
"v1.0.4",
"v1.0.5",
"v1.0.6",
"v1.0.7",
"v1.0.8",
"v1.0.9",
"v1.1.0",
"v1.1.0-RC",
"v1.1.1",
"v1.1.10",
"v1.1.11",
"v1.1.12",
"v1.1.13",
"v1.1.14",
"v1.1.15",
"v1.1.16",
"v1.1.17",
"v1.1.18",
"v1.1.2",
"v1.1.3",
"v1.1.4",
"v1.1.5",
"v1.1.6",
"v1.1.7",
"v1.1.8",
"v1.1.9",
"v1.2.0",
"v1.2.0-BETA",
"v1.2.0-RC",
"v1.2.1",
"v1.2.10",
"v1.2.11",
"v1.2.12",
"v1.2.13",
"v1.2.14",
"v1.2.15",
"v1.2.16",
"v1.2.17",
"v1.2.2",
"v1.2.3",
"v1.2.4",
"v1.2.5",
"v1.2.6",
"v1.2.7",
"v1.2.8",
"v1.2.9",
"v1.3.0",
"v1.3.0-BETA",
"v1.3.1",
"v1.3.10",
"v1.3.11",
"v1.3.12",
"v1.3.13",
"v1.3.14",
"v1.3.15",
"v1.3.2",
"v1.3.3",
"v1.3.4",
"v1.3.5",
"v1.3.6",
"v1.3.7",
"v1.3.8",
"v1.3.9"
]
}From 1.4.0 before 1.4.12
Fixed in 1.4.12
12 explicitly affected versions
v1.4.0, v1.4.1, v1.4.10, v1.4.11, v1.4.2, v1.4.3, v1.4.4, v1.4.5, v1.4.6, v1.4.7, v1.4.8, v1.4.9
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "1.4.0"
},
{
"fixed": "1.4.12"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v1.4.0",
"v1.4.1",
"v1.4.10",
"v1.4.11",
"v1.4.2",
"v1.4.3",
"v1.4.4",
"v1.4.5",
"v1.4.6",
"v1.4.7",
"v1.4.8",
"v1.4.9"
]
}From 1.5 before 1.5.9
Fixed in 1.5.9
10 explicitly affected versions
v1.5.0, v1.5.0-RC.1, v1.5.1, v1.5.2, v1.5.3, v1.5.4, v1.5.5, v1.5.6, v1.5.7, v1.5.8
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "1.5"
},
{
"fixed": "1.5.9"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v1.5.0",
"v1.5.0-RC.1",
"v1.5.1",
"v1.5.2",
"v1.5.3",
"v1.5.4",
"v1.5.5",
"v1.5.6",
"v1.5.7",
"v1.5.8"
]
}From 1.6.0 before 1.6.5
Fixed in 1.6.5
5 explicitly affected versions
v1.6.0, v1.6.1, v1.6.2, v1.6.3, v1.6.4
View affected-version evidence
{
"ranges": [
{
"events": [
{
"introduced": "1.6.0"
},
{
"fixed": "1.6.5"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"v1.6.0",
"v1.6.1",
"v1.6.2",
"v1.6.3",
"v1.6.4"
]
}References
- https://github.com/Sylius/Sylius/security/advisories/GHSA-prg5-hg25-8grq
- https://github.com/Sylius/SyliusResourceBundle/security/advisories/GHSA-8vp7-j5cj-vvm2
- https://nvd.nist.gov/vuln/detail/CVE-2020-5218
- https://github.com/FriendsOfPHP/security-advisories/blob/master/sylius/resource-bundle/CVE-2020-5220.yaml