CVE-2020-5220
Ability to expose data in Sylius by using an unintended serialisation group
Sylius ResourceBundle accepts and uses any serialisation groups to be passed via a HTTP header. This might lead to data exposure by using an unintended serialisation group - for example it could make Shop API use a more permissive group from Admin API. Anyone exposing an API with ResourceBundle's controller is affected. The vulnerable versions are: <1.3 || >=1.3.0 <=1.3.12 || >=1.4.0 <=1.4.5 || >=1.5.0 <=1.5.0 || >=1.6.0 <=1.6.2. The patch is provided for Sylius ResourceBundle 1.3.13, 1.4.6, 1.5.1 and 1.6.3, but not for any versions below 1.3.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.4
Ability to expose data in Sylius by using an unintended serialisation group
Sylius ResourceBundle accepts and uses any serialisation groups to be passed via a HTTP header. This might lead to data exposure by using an unintended serialisation group - for example it could make Shop API use a more permissive group from Admin API. Anyone exposing an API with ResourceBundle's controller is affected. The vulnerable versions are: <1.3 || >=1.3.0 <=1.3.12 || >=1.4.0 <=1.4.5 || >=1.5.0 <=1.5.0 || >=1.6.0 <=1.6.2. The patch is provided for Sylius ResourceBundle 1.3.13, 1.4.6, 1.5.1 and 1.6.3, but not for any versions below 1.3.
- Record
CVE-2020-5220- CVSS 3.1
- 4.4 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-444
- Updated
- 2026-11-02
EUVDEUVD-2020-0257
4.4
Sylius ResourceBundle accepts and uses any serialisation groups to be passed via a HTTP header. This might lead to data exposure by using an unintended serialisation group - for example it could make Shop API use a more permissive group from Admin API. Anyone exposing an API with ResourceBundle's controller is affected. The vulnerable versions are: <1.3 || >=1.3.0 <=1.3.12 || >=1.4.0 <=1.4.5 || >=1.5.0 <=1.5.0 || >=1.6.0 <=1.6.2. The patch is provided for Sylius ResourceBundle 1.3.13, 1.4.6, 1.5.1 and 1.6.3, but not for any versions below 1.3.
- Record
EUVD-2020-0257- CVSS 3.1
- 4.4 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-8vp7-j5cj-vvm2
4.4
Ability to expose data in Sylius by using an unintended serialisation group
Impact
ResourceBundle accepts and uses any serialisation groups to be passed via a HTTP header. This might lead to data exposure by using an unintended serialisation group - for example it could make Shop API use a more permissive group from Admin API.
Anyone exposing an API with ResourceBundle's controller is affected. The vulnerable versions are: <1.3 || >=1.3.0 <=1.3.12 || >=1.4.0 <=1.4.5 || >=1.5.0 <=1.5.0 || >=1.6.0 <=1.6.2.
Patches
The patch is provided for ResourceBundle 1.3.13, 1.4.6, 1.5.1 and 1.6.3, but not for any versions below 1.3.
After it is applied, It allows to choose only the groups that are defined in serialization_groups or allowed_serialization_groups route definition. Any group not defined in those will not be used.
This behaviour might be a BC break for those using custom groups via the HTTP header, please adjust allowed_serialization_groups accordingly.
Workarounds
Service sylius.resource_controller.request_configuration_factory can be overridden with an implementation copied from \Sylius\Bundle\ResourceBundle\Controller\RequestConfigurationFactory where the part that handles custom serialisation groups is deleted.
- Record
GHSA-8vp7-j5cj-vvm2- CVSS 3.1
- 4.4 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-200, CWE-444
- Updated
- 2026-11-02
NVD
4.4
Sylius ResourceBundle accepts and uses any serialisation groups to be passed via a HTTP header. This might lead to data exposure by using an unintended serialisation group - for example it could make Shop API use a more permissive group from Admin API. Anyone exposing an API with ResourceBundle's controller is affected. The vulnerable versions are: <1.3 || >=1.3.0 <=1.3.12 || >=1.4.0 <=1.4.5 || >=1.5.0 <=1.5.0 || >=1.6.0 <=1.6.2. The patch is provided for Sylius ResourceBundle 1.3.13, 1.4.6, 1.5.1 and 1.6.3, but not for any versions below 1.3.
- Record
CVE-2020-5220- CVSS 3.1
- 4.4 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:P/I:N/A:N - Weakness
- CWE-444, CWE-200
- Updated
- 2026-11-02
OSVCVE-2020-5218
4.3
Affected versions of Sylius give attackers 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. 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.
- Record
CVE-2020-5218- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSV
5.3
Sylius ResourceBundle accepts and uses any serialisation groups to be passed via a HTTP header. This might lead to data exposure by using an unintended serialisation group - for example it could make Shop API use a more permissive group from Admin API. Anyone exposing an API with ResourceBundle's controller is affected. The vulnerable versions are: <1.3 || >=1.3.0 <=1.3.12 || >=1.4.0 <=1.4.5 || >=1.5.0 <=1.5.0 || >=1.6.0 <=1.6.2. The patch is provided for Sylius ResourceBundle 1.3.13, 1.4.6, 1.5.1 and 1.6.3, but not for any versions below 1.3.
- Record
CVE-2020-5220- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N - Updated
- 2026-11-02
OSVGHSA-8vp7-j5cj-vvm2
4.4
Ability to expose data in Sylius by using an unintended serialisation group
Impact
ResourceBundle accepts and uses any serialisation groups to be passed via a HTTP header. This might lead to data exposure by using an unintended serialisation group - for example it could make Shop API use a more permissive group from Admin API.
Anyone exposing an API with ResourceBundle's controller is affected. The vulnerable versions are: <1.3 || >=1.3.0 <=1.3.12 || >=1.4.0 <=1.4.5 || >=1.5.0 <=1.5.0 || >=1.6.0 <=1.6.2.
Patches
The patch is provided for ResourceBundle 1.3.13, 1.4.6, 1.5.1 and 1.6.3, but not for any versions below 1.3.
After it is applied, It allows to choose only the groups that are defined in serialization_groups or allowed_serialization_groups route definition. Any group not defined in those will not be used.
This behaviour might be a BC break for those using custom groups via the HTTP header, please adjust allowed_serialization_groups accordingly.
Workarounds
Service sylius.resource_controller.request_configuration_factory can be overridden with an implementation copied from \Sylius\Bundle\ResourceBundle\Controller\RequestConfigurationFactory where the part that handles custom serialisation groups is deleted.
- Record
GHSA-8vp7-j5cj-vvm2- CVSS 3.1
- 4.4 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-200, CWE-444
- Updated
- 2026-11-02
OSVGHSA-prg5-hg25-8grq
4.4
Ability to switch channels via GET parameter enabled in production environments
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
- Record
GHSA-prg5-hg25-8grq- CVSS 3.1
- 4.4 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-444
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
sylius/resource-bundlePackagist |
1.4.0 up to 1.4.6 | 1.4.6 |
sylius/resource-bundlePackagist |
1.5.0 up to 1.5.1 | 1.5.1 |
sylius/resource-bundlePackagist |
1.6.0 up to 1.6.3 | 1.6.3 |
sylius/syliusPackagist |
before 1.3.12 | 1.3.12 |
sylius/syliusPackagist |
1.4.0 up to 1.4.4 | 1.4.4 |
sylius/resource-bundlePackagist |
1.0.0 up to 1.3.13 | 1.3.13 |
sylius/resource-bundlePackagist From an advisory covering 2 CVEs |
1.4.0 up to 1.4.6, plus listed versions v1.4.0v1.4.1v1.4.2v1.4.3v1.4.4v1.4.5 |
1.4.6 |
sylius/resource-bundlePackagist From an advisory covering 2 CVEs |
1.5.0 up to 1.5.1, plus listed versions v1.5.0 |
1.5.1 |
sylius/resource-bundlePackagist From an advisory covering 2 CVEs |
1.6.0 up to 1.6.3, plus listed versions v1.6.0v1.6.1v1.6.2 |
1.6.3 |
sylius/syliusPackagist From an advisory covering 2 CVEs |
before 1.3.12, plus listed versions v0.1.0v0.10.0v0.11.0v0.12.0v0.13.0 Show 45 moreShow lessv0.14.0v0.15.0v0.16.0v0.17.0v0.18.0v0.19.0v0.2.0v0.3.0v0.5.0v0.6.0v0.7.0v0.8.0v0.9.0v1.0.0v1.0.0-alpha.1v1.0.0-alpha.2v1.0.0-beta.1v1.0.0-beta.2v1.0.0-beta.3v1.0.0-rc.1v1.0.0-rc.2v1.0.1v1.0.10v1.0.11v1.0.12v1.0.13v1.0.14v1.0.15v1.0.16v1.0.17v1.0.18v1.0.2v1.0.3v1.0.4v1.0.5v1.0.6v1.0.7v1.0.8v1.0.9v1.1.0v1.1.0-RCv1.1.1v1.1.10v1.1.11v1.1.12 |
1.3.12 |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
sylius/syliusPackagist From an advisory covering 2 CVEs |
1.4.0 up to 1.4.4, plus listed versions v1.4.0v1.4.1v1.4.2v1.4.3 |
1.4.4 |
sylius/resource-bundlePackagist From an advisory covering 2 CVEs |
1.0.0 up to 1.3.13, plus listed versions v1.0.0v1.0.1v1.0.10v1.0.11v1.0.12 Show 45 moreShow lessv1.0.13v1.0.14v1.0.15v1.0.16v1.0.17v1.0.18v1.0.2v1.0.3v1.0.4v1.0.5v1.0.6v1.0.7v1.0.8v1.0.9v1.1.0v1.1.0-RCv1.1.1v1.1.10v1.1.11v1.1.12v1.1.13v1.1.14v1.1.15v1.1.17v1.1.18v1.1.2v1.1.3v1.1.4v1.1.5v1.1.6v1.1.7v1.1.8v1.1.9v1.2.0v1.2.0-BETAv1.2.0-RCv1.2.1v1.2.10v1.2.11v1.2.12v1.2.13v1.2.14v1.2.15v1.2.16v1.2.17 |
1.3.13 |
sylius/syliusPackagist From an advisory covering 2 CVEs |
before 1.3.16, plus listed versions v0.1.0v0.10.0v0.11.0v0.12.0v0.13.0 Show 45 moreShow lessv0.14.0v0.15.0v0.16.0v0.17.0v0.18.0v0.19.0v0.2.0v0.3.0v0.5.0v0.6.0v0.7.0v0.8.0v0.9.0v1.0.0v1.0.0-alpha.1v1.0.0-alpha.2v1.0.0-beta.1v1.0.0-beta.2v1.0.0-beta.3v1.0.0-rc.1v1.0.0-rc.2v1.0.1v1.0.10v1.0.11v1.0.12v1.0.13v1.0.14v1.0.15v1.0.16v1.0.17v1.0.18v1.0.2v1.0.3v1.0.4v1.0.5v1.0.6v1.0.7v1.0.8v1.0.9v1.1.0v1.1.0-RCv1.1.1v1.1.10v1.1.11v1.1.12 |
1.3.16 |
sylius/syliusPackagist From an advisory covering 2 CVEs |
1.4.0 up to 1.4.12, plus listed versions v1.4.0v1.4.1v1.4.10v1.4.11v1.4.2 Show 7 moreShow lessv1.4.3v1.4.4v1.4.5v1.4.6v1.4.7v1.4.8v1.4.9 |
1.4.12 |
sylius/syliusPackagist From an advisory covering 2 CVEs |
1.5 up to 1.5.9, plus listed versions v1.5.0v1.5.0-RC.1v1.5.1v1.5.2v1.5.3 Show 5 moreShow lessv1.5.4v1.5.5v1.5.6v1.5.7v1.5.8 |
1.5.9 |
sylius/syliusPackagist From an advisory covering 2 CVEs |
1.6.0 up to 1.6.5, plus listed versions v1.6.0v1.6.1v1.6.2v1.6.3v1.6.4 |
1.6.5 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-5220 is a medium vulnerability (CVSS 4.4) in Sylius Syliusresourcebundle, published January 27, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.74%, the 54th percentile. Fixed in sylius/resource-bundle 1.4.6.
References
github.com/Sylius/SyliusResourceBundle/security/advisories/GHSA-8vp7-j5cj-vvm2
github.com/FriendsOfPHP/security-advisories/blob/master/sylius/resource-bundle/CVE-2020-5220.yaml
nvd.nist.gov/vuln/detail/CVE-2020-5220
github.com/FriendsOfPHP/security-advisories/blob/master/sylius/sylius/CVE-2020-5220.yaml
github.com/advisories/GHSA-8vp7-j5cj-vvm2
github.com/Sylius/Sylius/security/advisories/GHSA-prg5-hg25-8grq
nvd.nist.gov/vuln/detail/CVE-2020-5218
Left out here: 120 versions. The JSON record has them.