ghsa-h7vf-5wrv-9fhv
Vulnerability from github
Description
The Symfony HTTP cache system acts as a reverse proxy: it caches HTTP responses (including headers) and returns them to clients.
In a recent AbstractSessionListener
change, the response might now contain a Set-Cookie
header. If the Symfony HTTP cache system is enabled, this header might be stored and returned to some other clients. An attacker can use this vulnerability to retrieve the victim's session.
Resolution
The HttpStore
constructor now takes a parameter containing a list of private headers that are removed from the HTTP response headers.
The default value for this parameter is Set-Cookie
, but it can be overridden or extended by the application.
The patch for this issue is available here for branch 4.4.
Credits
We would like to thank Soner Sayakci for reporting the issue and Nicolas Grekas for fixing it.
{ "affected": [ { "package": { "ecosystem": "Packagist", "name": "symfony/http-kernel" }, "ranges": [ { "events": [ { "introduced": "2.0.0" }, { "fixed": "4.4.50" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/http-kernel" }, "ranges": [ { "events": [ { "introduced": "5.0.0" }, { "fixed": "5.4.20" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/http-kernel" }, "ranges": [ { "events": [ { "introduced": "6.0.0" }, { "fixed": "6.0.20" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/http-kernel" }, "ranges": [ { "events": [ { "introduced": "6.1.0" }, { "fixed": "6.1.12" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/http-kernel" }, "ranges": [ { "events": [ { "introduced": "6.2.0" }, { "fixed": "6.2.6" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/symfony" }, "ranges": [ { "events": [ { "introduced": "2.0.0" }, { "fixed": "4.4.50" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/symfony" }, "ranges": [ { "events": [ { "introduced": "5.0.0" }, { "fixed": "5.4.20" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/symfony" }, "ranges": [ { "events": [ { "introduced": "6.0.0" }, { "fixed": "6.0.20" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/symfony" }, "ranges": [ { "events": [ { "introduced": "6.1.0" }, { "fixed": "6.1.12" } ], "type": "ECOSYSTEM" } ] }, { "package": { "ecosystem": "Packagist", "name": "symfony/symfony" }, "ranges": [ { "events": [ { "introduced": "6.2.0" }, { "fixed": "6.2.6" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2022-24894" ], "database_specific": { "cwe_ids": [ "CWE-285" ], "github_reviewed": true, "github_reviewed_at": "2023-02-01T18:48:09Z", "nvd_published_at": "2023-02-03T22:15:00Z", "severity": "MODERATE" }, "details": "Description\n-----------\n\nThe Symfony HTTP cache system acts as a reverse proxy: it caches HTTP responses (including headers) and returns them to clients.\n\nIn a recent `AbstractSessionListener` change, the response might now contain a `Set-Cookie` header. If the Symfony HTTP cache system is enabled, this header might be stored and returned to some other clients. An attacker can use this vulnerability to retrieve the victim\u0027s session.\n\nResolution\n----------\n\nThe `HttpStore` constructor now takes a parameter containing a list of private headers that are removed from the HTTP response headers.\nThe default value for this parameter is `Set-Cookie`, but it can be overridden or extended by the application.\n\nThe patch for this issue is available [here](https://github.com/symfony/symfony/commit/d2f6322af9444ac5cd1ef3ac6f280dbef7f9d1fb) for branch 4.4.\n\nCredits\n-------\n\nWe would like to thank Soner Sayakci for reporting the issue and Nicolas Grekas for fixing it.\n", "id": "GHSA-h7vf-5wrv-9fhv", "modified": "2023-02-14T19:25:20Z", "published": "2023-02-01T18:48:09Z", "references": [ { "type": "WEB", "url": "https://github.com/symfony/symfony/security/advisories/GHSA-h7vf-5wrv-9fhv" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-24894" }, { "type": "WEB", "url": "https://github.com/symfony/symfony/commit/d2f6322af9444ac5cd1ef3ac6f280dbef7f9d1fb" }, { "type": "WEB", "url": "https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/http-kernel/CVE-2022-24894.yaml" }, { "type": "WEB", "url": "https://github.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2022-24894.yaml" }, { "type": "PACKAGE", "url": "https://github.com/symfony/symfony" }, { "type": "WEB", "url": "https://lists.debian.org/debian-lts-announce/2023/07/msg00014.html" }, { "type": "WEB", "url": "https://symfony.com/cve-2022-24894" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:L/A:L", "type": "CVSS_V3" } ], "summary": "Symfony storing cookie headers in HttpCache" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.