GHSA-745p-r637-7vvplow2.6
Codeigniter4's Secure or HttpOnly flag set in Config\Cookie is not reflected in Cookies issued
Impact
Setting $secure or $httponly value to true in Config\Cookie is not reflected in set_cookie() or Response::setCookie().
Source excerpt · OSVAffected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
codeigniter4/framework Packagist
| Affected range | Recorded fix |
|---|---|
| Earlier releases before 4.2.7Ecosystem versions | 4.2.7 |
Version evidence: OSV · GHSA-745p-r637-7vvp
View original version evidence (35 explicit versions)
Original source 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.
helper('cookie');
$cookie = [
'name' => $name,
'value' => $value,
];
set_cookie($cookie);
// or
$this->response->setCookie($cookie);
Patches
Upgrade to v4.2.7 or later.
Workarounds
- Specify the options explicitly.
helper('cookie'); $cookie = [ 'name' => $name, 'value' => $value, 'secure' => true, 'httponly' => true, ]; set_cookie($cookie); // or $this->response->setCookie($cookie); - Use Cookie object.
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
References
- Security advisory github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-745p-r637-7vvp
- Security advisory nvd.nist.gov/vuln/detail/CVE-2022-39284
- Source reference github.com/codeigniter4/CodeIgniter4/issues/6540
- Patch github.com/codeigniter4/CodeIgniter4/pull/6544
- Source reference codeigniter4.github.io/userguide/helpers/cookie_helper.html
- Source reference codeigniter4.github.io/userguide/outgoing/response.html
- Source reference developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
- Security advisory github.com/FriendsOfPHP/security-advisories/blob/master/codeigniter4/framework/CVE-2022-39284.yaml
- Source reference github.com/codeigniter4/CodeIgniter4