CodeIgniter Shield Password Shucking Vulnerability
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
CodeIgniter Shield provides authentication and authorization for the CodeIgniter 4 PHP framework. An improper implementation was found in the password storage process. All hashed passwords stored in Shield v1.0.0-beta.3 or earlier are easier to crack than expected due to the vulnerability. Therefore, they should be removed as soon as possible. If an attacker gets (1) the user's hashed password by Shield, and (2) the hashed password (SHA-384 hash without salt) from somewhere, the attacker may easily crack the user's password. Upgrade to Shield v1.0.0-beta.4 or later to fix this issue. After upgrading, all users’ hashed passwords should be updated (saved to the database). There are no known workarounds.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| codeigniter4 | shield | before 1.0.0-beta.4 | 1.0.0-beta.4 | Patch available | CNA |
| — | codeigniter4/shield (Packagist) | before 1.0.0-beta.4 | 1.0.0-beta.4 | Patch available | GHSA-c5vj-f36q-p9vg |
- shield Vendorcodeigniter4 Affected before 1.0.0-beta.4 Fixed in 1.0.0-beta.4 Patch available CNA
- codeigniter4/shield (Packagist) Vendor— Affected before 1.0.0-beta.4 Fixed in 1.0.0-beta.4 Patch available GHSA-c5vj-f36q-p9vg
CPE configurations NVD · 3
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:codeigniter:shield:1.0.0:beta:*:*:*:*:*:* | 1.0.0 beta | Vulnerable | codeigniter4 |
| cpe:2.3:a:codeigniter:shield:1.0.0:beta2:*:*:*:*:*:* | 1.0.0 beta2 | Vulnerable | codeigniter4 |
| cpe:2.3:a:codeigniter:shield:1.0.0:beta3:*:*:*:*:*:* | 1.0.0 beta3 | Vulnerable | codeigniter4 |
- cpe:2.3:a:codeigniter:shield:1.0.0:beta:*:*:*:*:*:* Versions 1.0.0 beta Vulnerable ·codeigniter4
- cpe:2.3:a:codeigniter:shield:1.0.0:beta2:*:*:*:*:*:* Versions 1.0.0 beta2 Vulnerable ·codeigniter4
- cpe:2.3:a:codeigniter:shield:1.0.0:beta3:*:*:*:*:*:* Versions 1.0.0 beta3 Vulnerable ·codeigniter4
Remediation
- Fix · CNA shield (codeigniter4) Fixed in 1.0.0-beta.4
- Fix · GHSA-c5vj-f36q-p9vg codeigniter4/shield (Packagist) Fixed in 1.0.0-beta.4 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-27580
- 2026-10-03 Alias added: GHSA-c5vj-f36q-p9vg
References
Advisory 5
- https://github.com/codeigniter4/shield/security/advisories/GHSA-c5vj-f36q-p9vg
- https://blog.ircmaxell.com/2015/03/security-issue-combining-bcrypt-with.html
- https://github.com/codeigniter4/shield/blob/develop/UPGRADING.md
- https://www.scottbrady91.com/authentication/beware-of-password-shucking
- https://nvd.nist.gov/vuln/detail/CVE-2023-27580
More codeigniter4 Shield vulnerabilities
- TI-2022-16370 SameSite may allow cross-site request forgery (CSRF) protection to be bypassed CVSS 3.1HIGH 8.8
- TI-2023-26547 Insertion of Sensitive Information into Log in codeigniter4/shield CVSS 3.1MEDIUM 6.5
- TI-2023-26546 Cleartext Storage of Sensitive Information in codeigniter4/shield CVSS 3.1MEDIUM 6.5
Sources
- CVE-2023-27580 · CVE Program
- CVE-2023-27580 · NVD
- FIRST EPSS
- GHSA-c5vj-f36q-p9vg · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences