{"id":"CVE-2022-35943","aliases":["BIT-codeigniter-2022-35943","GHSA-5hm8-vh6r-2cjq"],"url":"https://o3.security/vulnerability/CVE-2022-35943","summary":"SameSite may allow cross-site request forgery (CSRF) protection to be bypassed","details":"### Impact\nThis vulnerability may allow [SameSite Attackers](https://canitakeyoursubdomain.name/) to bypass the [CodeIgniter4 CSRF protection](https://codeigniter4.github.io/userguide/libraries/security.html) mechanism with CodeIgniter Shield.\n\nFor 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/`).\n\nThis vulnerability exists whether `Config\\Security::$csrfProtection` is `'cookie'` or `'session'`.\nIt is also exploitable whether `Config\\Security::$regenerate` is `true` or `false`.\n\n### Patches\nUpgrade to **CodeIgniter v4.2.3 or later** and **Shield v1.0.0-beta.2 or later**.\n\n### Workarounds\nDo all of the following:\n- set `Config\\Security::$csrfProtection` to `'session'`\n- remove old session data right after login (immediately after ID and password match)\n- regenerate CSRF token right after login (immediately after ID and password match)\n\n### References\n- [CodeIgniter4 CSRF Protection](https://codeigniter4.github.io/userguide/libraries/security.html)\n- [SameSite Attacks](https://canitakeyoursubdomain.name/)\n- [SameSite Cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite)\n- [The great SameSite confusion](https://jub0bs.com/posts/2021-01-29-great-samesite-confusion/)\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue or discussion in [codeigniter4/shield](https://github.com/codeigniter4/shield)\n* Email us at [security@codeigniter.com](mailto:security@codeigniter.com)\n","published":"2022-08-12T20:55:10Z","modified":"2026-08-12T03:51:39.614474382Z","cvss":{"score":5.9,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:L"},"epss":{"score":0.00581,"percentile":0.44555,"asOf":"2026-08-09"},"cisaKev":null,"exploitsKnown":1,"affectedPackages":[{"ecosystem":"Packagist","name":"codeigniter4/shield","fixedVersion":"1.0.0-beta.2"}],"fix":{"url":"https://github.com/codeigniter4/shield/commit/342a368536678621998c3c41d276480cd14ec6c6","label":"codeigniter4/shield@342a368"},"references":[{"type":"WEB","url":"https://codeigniter4.github.io/userguide/libraries/security.htm"},{"type":"WEB","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite"},{"type":"WEB","url":"https://jub0bs.com/posts/2021-01-29-great-samesite-confusion"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/35xxx/CVE-2022-35943.json"},{"type":"ADVISORY","url":"https://github.com/codeigniter4/shield/security/advisories/GHSA-5hm8-vh6r-2cjq"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-35943"},{"type":"WEB","url":"https://github.com/codeigniter4/shield/commit/342a368536678621998c3c41d276480cd14ec6c6"},{"type":"PACKAGE","url":"https://github.com/codeigniter4/shield"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:39.614474382Z"}}