Every CVE Search/ Get API key

CVE-2020-5220

Ability to expose data in Sylius by using an unintended serialisation group

4.4 MediumFix available

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

0.74%Up 0.1 points since Apr 14, 2021
90%50%10%1%

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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
CVSS 2.0
5.0 MediumAV: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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

Affected packages
PackageAffectedFixed
sylius/resource-bundle
Packagist
1.4.0 up to 1.4.6
1.4.6
sylius/resource-bundle
Packagist
1.5.0 up to 1.5.1
1.5.1
sylius/resource-bundle
Packagist
1.6.0 up to 1.6.3
1.6.3
sylius/sylius
Packagist
before 1.3.12
1.3.12
sylius/sylius
Packagist
1.4.0 up to 1.4.4
1.4.4
sylius/resource-bundle
Packagist
1.0.0 up to 1.3.13
1.3.13
sylius/resource-bundle
Packagist
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-bundle
Packagist
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-bundle
Packagist
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/sylius
Packagist
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 less
v0.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
Affected packages
PackageAffectedFixed
sylius/sylius
Packagist
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-bundle
Packagist
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 less
v1.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/sylius
Packagist
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 less
v0.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/sylius
Packagist
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 less
v1.4.3v1.4.4v1.4.5v1.4.6v1.4.7v1.4.8v1.4.9
1.4.12
sylius/sylius
Packagist
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 less
v1.5.4v1.5.5v1.5.6v1.5.7v1.5.8
1.5.9
sylius/sylius
Packagist
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

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE 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

This page doesn't list everything

Left out here: 120 versions. The JSON record has them.

MoveEnter Open