Quick answers
- Is CVE-2023-22893 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2023-22893 being exploited in the wild.
- How severe is CVE-2023-22893?
- Informational severity, with a CVSS score of 6.5, published 19 April 2023.
- Which products and versions are affected?
- @strapi/plugin-users-permissions (npm) SEMVER:introduced=3.2.1,fixed=4.6.0; Strapi Plugin-Users-Permissions 3.2.1 through 4.5.9.
- Is there a fix for CVE-2023-22893?
- Yes. @strapi/plugin-users-permissions (npm): upgrade to 4.6.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2023-22893 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2023-22893?
- Check whether you run @strapi/plugin-users-permissions (npm) or Strapi Plugin-Users-Permissions at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @strapi/plugin-users-permissions (npm): upgrade to 4.6.0 or later
npm install @strapi/plugin-users-permissions@4.6.0
Technical details
The vulnerability is an authentication bypass in the OAuth/OIDC token validation logic within Strapi's users-permissions plugin, specifically when AWS Cognito is used as the identity provider. The affected code in the providers-registry.js service failed to verify the JWT signature of ID tokens returned during the OAuth flow, permitting tokens signed with the 'None' algorithm (an RFC-defined but dangerous algorithm option) to be accepted as valid. An unauthenticated remote attacker can construct a malicious JWT claiming any user identity and submit it during the OAuth callback phase to gain authenticated access without valid credentials. The fix, released in version 4.6.0, implements proper JWT signature verification using AWS's published key sets (JWKS). Patches are available in commits 46f8f98, 8bbbd73, and eeab43b on the Strapi repository.
Affected products
- Strapi @strapi/plugin-users-permissions 3.2.1 through 4.5.9
Identifiers
- CVE-2023-22893
- GHSA-583x-23h9-f5w7
Timeline
- 2023-04-19: disclosed
- 2023-04-24: patched: Fix released in Strapi 4.6.0
References
- https://github.com/strapi/strapi/commit/46f8f98378338f18b5c6139d0157a8f71bf4de83
- https://github.com/strapi/strapi/commit/8bbbd7383a20bb7cb163c8b462baffee559e994f
- https://github.com/strapi/strapi/commit/eeab43b57707d7ef275076d27be6eabc72bd71a7
- https://github.com/strapi/strapi
- https://github.com/strapi/strapi/blob/v4.5.6/packages/plugins/users-permissions/server/services/providers-registry.js
- https://github.com/strapi/strapi/releases