Description
API Platform Core is a system to create hypermedia-driven REST and GraphQL APIs. Prior to 4.0.22 and 3.4.17, a GraphQL grant on a property might be cached with different objects. The ApiPlatform\GraphQl\Serializer\ItemNormalizer::isCacheKeySafe() method is meant to prevent the caching but the parent::normalize method that is called afterwards still creates the cache key and causes the issue. This vulnerability is fixed in 4.0.22 and 3.4.17.
CVSS breakdown
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
Affected products
- api-platform / core>= 4.0.0-alpha.1, < 4.0.22 – >= 4.0.0-alpha.1, < 4.0.22
- api-platform / core< 3.4.17 – < 3.4.17
References
- VENDOR_ADVISORYhttps://github.com/api-platform/core/security/advisories/GHSA-428q-q3vv-3fq3
- PATCHhttps://github.com/api-platform/core/commit/7af65aad13037d7649348ee3dcd88e084ef771f8
- PATCHhttps://github.com/api-platform/core/commit/cba3acfbd517763cf320167250c5bed6d569696a
- PATCHhttps://github.com/api-platform/core/releases/tag/v3.4.17