First published: Thu Nov 23 2023(Updated: )
### Impact If successful login attempts are recorded, the raw tokens are stored in the log table. If a malicious person somehow views the data in the log table, he or she can obtain a raw token, which can then be used to send a request with that user's authority. When you (1) **use the following authentiactors**, - [AccessTokens](https://codeigniter4.github.io/shield/references/authentication/tokens/) (`tokens`) - [JWT](https://codeigniter4.github.io/shield/addons/jwt/) (`jwt`) - [HmacSha256](https://codeigniter4.github.io/shield/references/authentication/hmac/) (`hmac`) and you (2) **log successful login attempts**, the raw tokens are stored. ### Patches Upgrade to Shield v1.0.0-beta.8 or later. ### Workarounds Disable logging for successful login attempts by the configuration files. - AccessTokens or HmacSha256 - Set `Config\AuthToken::$recordLoginAttempt` to `Auth::RECORD_LOGIN_ATTEMPT_FAILURE` or `Auth::RECORD_LOGIN_ATTEMPT_NONE` - JWT - Set `Config\AuthJWT::$recordLoginAttempt` to `Auth::RECORD_LOGIN_ATTEMPT_FAILURE` or `Auth::RECORD_LOGIN_ATTEMPT_NONE` ### References - https://codeigniter4.github.io/shield/getting_started/authenticators/ ### For more information If you have any questions or comments about this advisory: * Open an issue or discussion in [codeigniter4/shield](https://github.com/codeigniter4/shield) * Email us at [security@codeigniter.com](mailto:security@codeigniter.com)
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
composer/codeigniter4/shield | <1.0.0-beta.8 | 1.0.0-beta.8 |
CodeIgniter Shield | =1.0.0-beta | |
CodeIgniter Shield | =1.0.0-beta2 | |
CodeIgniter Shield | =1.0.0-beta3 | |
CodeIgniter Shield | =1.0.0-beta4 | |
CodeIgniter Shield | =1.0.0-beta5 | |
CodeIgniter Shield | =1.0.0-beta6 | |
CodeIgniter Shield | =1.0.0-beta7 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
If successful login attempts are recorded, the raw tokens are stored in the log table and can be obtained by a malicious person, allowing them to send requests with the user's authority.
If a malicious person somehow views the data in the log table, they can obtain a raw token.
A malicious person can use a raw token to send requests with the authority of the user associated with that token.
The vulnerability affects codeigniter4/shield version 1.0.0-beta.8 exclusively.
You can find more information about codeigniter4/shield and how to fix this vulnerability in the references provided: https://github.com/codeigniter4/shield/security/advisories/GHSA-j72f-h752-mx4w, https://github.com/codeigniter4/shield/commit/7e84c3fb3411294f70890819bfe51781bb9dc8e4, https://codeigniter4.github.io/shield/getting_started/authenticators/