GHSA-745p-r637-7vvp
Codeigniter4's Secure or HttpOnly flag set in Config\Cookie is not reflected in Cookies issued
Quick fix
GHSA-745p-r637-7vvp — codeigniter4/framework: upgrade to the fixed version with the command below.
composer require codeigniter4/framework:^4.2.7Details
### 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](https://github.com/codeigniter4/CodeIgniter4/issues) * Email us at [SECURITY.md](https://github.com/codeigniter4/CodeIgniter4/blob/develop/SECURITY.md)
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 4.2.7composer require codeigniter4/framework:^4.2.7References
- 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]