GitHub Advisoryadvisory · Packagist
GHSA-745p-r637-7vvp Codeigniter4's Secure or HttpOnly flag set in Config\Cookie is not reflected in Cookies issued
LOW
Official page ↗
- Aliases
- CVE-2022-39284
- Ecosystem
- Packagist
- Packages
- codeigniter4/framework
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N
- Weaknesses
- CWE-665, CWE-732
- Reviewed
- 2022-10-06
Affected packages
• Packagist codeigniter4/framework: < 4.2.7 → fixed in 4.2.7
Description
Impact
Setting `$secure` or `$httponly` value to `true` in `Config\Cookie` is not reflected in `set_cookie()` or `Response::setCookie()`.
> Note
> This vulnerability does not affect session cookies.
The following code does not issue a cookie with the secure flag even if you set `$secure = true` in `Config\Cookie`.
```php
helper('cookie');
$cookie = [
'name' => $name,
'value' => $value,
];
set_cookie($cookie);
// or
$this->response->setCookie($cookie);
```
Patches
Upgrade to v4.2.7 or later.
Workarounds
1. Specify the options explicitly.
```php
helper('cookie');
$cookie = [
'name' => $name,
'value' => $value,
'secure' => true,
'httponly' => true,
];
set_cookie($cookie);
// or
$this->response->setCookie($cookie);
```
2. Use Cookie object.
```php
use CodeIgniter\Cookie\Cookie;
helper('cookie');
$cookie = new Cookie($name, $value);
set_cookie($cookie);
// or
$this->response->setCookie($cookie);
```
References
• https://codeigniter4.github.io/userguide/helpers/cookie_helper.html#set_cookie
• https://codeigniter4.github.io/userguide/outgoing/response.html#CodeIgniter\HTTP\Response::setCookie
For more information
If you have any questions or comments about this advisory:
• Open an issue in codeigniter4/CodeIgniter4
• Email us at SECURITY.md
Related
Alias · CVE (1)
- CVE-2022-39284 CodeIgniter is a PHP full-stack web framework. vulnerability
References
- https://github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-745p-r637-7vvp web
- https://nvd.nist.gov/vuln/detail/CVE-2022-39284 advisory
- https://github.com/codeigniter4/CodeIgniter4/issues/6540 web
- https://github.com/codeigniter4/CodeIgniter4/pull/6544 web
- https://codeigniter4.github.io/userguide/helpers/cookie_helper.html#set_cookie web
- https://codeigniter4.github.io/userguide/outgoing/response.html#CodeIgniter%5CHTTP%5CResponse::setCookie web
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies web
- https://github.com/FriendsOfPHP/security-advisories/blob/master/codeigniter4/framework/CVE-2022-39284.yaml web
- https://github.com/codeigniter4/CodeIgniter4 package