Security readout for executives and security teams
Plain-English summary
CVE-2023-48220 lets an invited Decidim user accept an invitation after the normal two-week expiry by using the password reset flow. This can revive stale invitations and grant account access administrators expected to expire. Business impact is highest where invitations grant sensitive roles or access.
Executive priority
Treat as a moderate-priority access control issue. Patch during the next security maintenance window, faster for systems where invitations can grant administrative, organizational, or sensitive participant access.
Technical view
The flaw is in devise_invitable before 2.0.9. Its password reset path checks whether a user was invited, but not whether the invitation remains valid under invite_for. Decidim sets invite_for to two weeks. Fixed Decidim gem releases are 0.26.9, 0.27.5, and 0.28.0.
Likely exposure
Exposure is likely limited to Decidim deployments using affected decidim, decidim-admin, decidim-system, or devise_invitable versions with pending or historical invitations. Risk depends on invited account privileges and whether stale invitations remain in the database.
Exploitation context
The source bundle reports no KEV listing and provides no evidence of active exploitation. Exploitation requires an invited user and interaction with account recovery behavior; CVSS marks privileges and user interaction as required, with high complexity.
Researcher notes
The key condition is expiry validation missing in the invitation acceptance path reached through password reset. Sources identify CWE-672 and CVSS 5.7. Evidence supports the root cause and fixed versions, but not real-world exploitation.
Mitigation direction
- Upgrade devise_invitable to version 2.0.9 or later.
- Upgrade Decidim gems to 0.26.9, 0.27.5, 0.28.0, or later supported releases.
- Cancel unwanted pending invitations directly from the database if upgrade is delayed.
- Review vendor advisory and release notes before production rollout.
Validation and detection
- Inventory Decidim and devise_invitable gem versions in each deployment.
- Check for affected Decidim ranges below 0.26.9, 0.27.5, or 0.28.0.
- Review pending invitations, especially for administrative or privileged roles.
- Confirm password reset no longer accepts expired invitations after remediation.
Public sources used
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
CWE-672: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Open ATT&CK lookupCredential and access behavior lookup
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
Open ATT&CK lookupDatabase behavior lookup
The CVE wording references database injection or access, so collection and exfiltration review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
Open ATT&CK lookupCVE-2023-48220 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
Open ATT&CK lookup- Severity
- Medium
- CVSS
- 5.7 (3.1)
- Known Exploited
- No
- Published
Vector: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N
CNA and ADP enrichment extracted from CVE v5
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
CVSS vector scores
1 official scoreWe collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N0.55.2Primary CVE scoreVulnerability scoring details
Base CVSS 3.1 score
5.7MediumVector: CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N
Source materials
- CVE List V5 sourceCVE List V5
- https://github.com/decidim/decidim/security/advisories/GHSA-w3q8-m492-4pwpCVE reference · x_refsource_CONFIRM
- https://github.com/decidim/decidim/commit/073e60e2e4224dd81815a784002ebba30f2ebb34CVE reference · x_refsource_MISC
- https://github.com/decidim/decidim/commit/b12800717a689c295a9ea680a38ca9f823d2c454CVE reference · x_refsource_MISC
- https://github.com/scambra/devise_invitable/commit/94d859c7de0829bf63f679ae5dd3cab2b866a098CVE reference · x_refsource_MISC
- https://github.com/decidim/decidim/blob/d2d390578050772d1bdb6d731395f1afc39dcbfc/decidim-core/config/initializers/devise.rb#L134CVE reference · x_refsource_MISC
- https://github.com/decidim/decidim/releases/tag/v0.26.9CVE reference · x_refsource_MISC
- https://github.com/decidim/decidim/releases/tag/v0.27.5CVE reference · x_refsource_MISC
- https://github.com/decidim/decidim/releases/tag/v0.28.0CVE reference · x_refsource_MISC
- https://github.com/scambra/devise_invitable/blob/41f58970ff76fb64382a9b9ea1bd530f7c3adab2/lib/devise_invitable/models.rb#L198CVE reference · x_refsource_MISC
Products and packages named in the record
CWE details
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
Operation on a Resource after Expiration or Release
Operation on a Resource after Expiration or Release represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
