GitHub Advisoryadvisory · Packagist
GHSA-5hm8-vh6r-2cjq CodeIgniter Shield Vulnerable to SameSite Attackers Bypassing the CSRF Protection
MEDIUM
Official page ↗
- Aliases
- CVE-2022-35943
- Ecosystem
- Packagist
- Packages
- codeigniter4/shield
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:L
- Weaknesses
- CWE-352
- Reviewed
- 2022-08-18
Affected packages
• Packagist codeigniter4/shield: >= 1.0.0-beta, < 1.0.0-beta.2 → fixed in 1.0.0-beta.2
Description
Impact
This vulnerability may allow SameSite Attackers to bypass the CodeIgniter4 CSRF protection mechanism with CodeIgniter Shield.
For this attack to succeed, the attacker must have direct (or indirect, e.g., XSS) control over a subdomain site (e.g., `https://a.example.com/`) of the target site (e.g., `http://example.com/`).
This vulnerability exists whether `Config\Security::$csrfProtection` is `'cookie'` or `'session'`.
It is also exploitable whether `Config\Security::$regenerate` is `true` or `false`.
Patches
Upgrade to CodeIgniter v4.2.3 or later and Shield v1.0.0-beta.2 or later.
Workarounds
Do all of the following:
• set `Config\Security::$csrfProtection` to `'session'`
• remove old session data right after login (immediately after ID and password match)
• regenerate CSRF token right after login (immediately after ID and password match)
References
• CodeIgniter4 CSRF Protection
• SameSite Attacks
• SameSite Cookies
• The great SameSite confusion
For more information
If you have any questions or comments about this advisory:
• Open an issue or discussion in codeigniter4/shield
• Email us at [email protected]
Related
Alias · CVE (1)
- CVE-2022-35943 Shield is an authentication and authorization framework for CodeIgniter 4. vulnerability
Weakness · CWE (1)
- CWE-352 Cross-Site Request Forgery weakness
References
- https://github.com/codeigniter4/shield/security/advisories/GHSA-5hm8-vh6r-2cjq web
- https://nvd.nist.gov/vuln/detail/CVE-2022-35943 advisory
- https://github.com/codeigniter4/shield/commit/342a368536678621998c3c41d276480cd14ec6c6 web
- https://codeigniter4.github.io/userguide/libraries/security.htm web
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite web
- https://github.com/codeigniter4/shield package
- https://jub0bs.com/posts/2021-01-29-great-samesite-confusion web