CVE-2023-48220

Source
https://cve.org/CVERecord?id=CVE-2023-48220
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-48220.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-48220
Aliases
Published
2024-02-20T17:24:37.791Z
Modified
2026-03-20T12:31:48.874503Z
Severity
  • 5.7 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:N CVSS Calculator
Summary
Decidim's devise_invitable gem vulnerable to circumvention of invitation token expiry period
Details

Decidim is a participatory democracy framework. Starting in version 0.4.rc3 and prior to version 2.0.9 of the devise_invitable gem, the invites feature allows users to accept the invitation for an unlimited amount of time through the password reset functionality. This issue creates vulnerable dependencies starting in version 0.0.1.alpha3 and prior to versions 0.26.9, 0.27.5, and 0.28.0 of the decidim, decidim-admin, and decidim-system gems. When using the password reset functionality, the devise_invitable gem always accepts the pending invitation if the user has been invited. The only check done is if the user has been invited but the code does not ensure that the pending invitation is still valid as defined by the invite_for expiry period. Decidim sets this configuration to 2.weeks so this configuration should be respected. The bug is in the devise_invitable gem and should be fixed there and the dependency should be upgraded in Decidim once the fix becomes available. devise_invitable to version 2.0.9 and above fix this issue. Versions 0.26.9, 0.27.5, and 0.28.0 of the decidim, decidim-admin, and decidim-system gems contain this fix. As a workaround, invitations can be cancelled directly from the database.

Database specific
{
    "cwe_ids": [
        "CWE-672"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/48xxx/CVE-2023-48220.json",
    "cna_assigner": "GitHub_M"
}
References

Affected packages

Git / github.com/decidim/decidim

Affected ranges

Type
GIT
Repo
https://github.com/decidim/decidim
Events
Database specific
{
    "versions": [
        {
            "introduced": "0.0.1.alpha3"
        },
        {
            "fixed": "0.26.9"
        }
    ]
}
Type
GIT
Repo
https://github.com/decidim/decidim
Events
Database specific
{
    "versions": [
        {
            "introduced": "0.27.0"
        },
        {
            "fixed": "0.27.5"
        }
    ]
}

Affected versions

v0.*
v0.0.1
v0.0.1.alpha3
v0.0.1.alpha4
v0.0.1.alpha5
v0.0.1.alpha6
v0.0.1.alpha7
v0.0.1.alpha8
v0.0.1.alpha9
v0.0.2
v0.0.3
v0.0.4
v0.0.5
v0.0.6
v0.0.7
v0.0.8
v0.0.8.1
v0.1.0
v0.2.0
v0.20.0
v0.26.0
v0.26.0.rc1
v0.26.0.rc2
v0.26.1
v0.26.2
v0.26.3
v0.26.4
v0.26.5
v0.26.6
v0.26.7
v0.26.8
v0.27.0
v0.27.1
v0.27.2
v0.27.3
v0.27.4
v0.3.0
v0.4.0
v0.5.0

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-48220.json"

Git / github.com/scambra/devise_invitable

Affected ranges

Type
GIT
Repo
https://github.com/scambra/devise_invitable
Events

Affected versions

v0.*
v0.4.0
v0.4.1
v0.4.2
v0.4.rc3
v0.4.rc4
v0.4.rc5
v0.5.0
v0.5.1
v0.5.2
v0.5.3
v0.5.4
v0.5.5
v0.5.6
v0.5.7
v0.6.0
v0.6.1
v1.*
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.1.4
v1.1.5
v1.1.6
v1.1.7
v1.1.8
v1.2.0
v1.2.1
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.3.5
v1.3.6
v1.4.0
v1.4.1
v1.4.2
v1.5.0
v1.5.1
v1.5.2
v1.5.3
v1.5.5
v1.6.0
v1.6.1
v1.7.0
v1.7.1
v1.7.2
v1.7.3
v1.7.4
v1.7.5
v2.*
v2.0.0
v2.0.1
v2.0.2
v2.0.3
v2.0.4
v2.0.5
v2.0.6
v2.0.7
v2.0.8

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-48220.json"