Skip to content
Heist/ feed
Back to feed
Medium

Decidim: Admin user search allows SQL injection through similarity-based sorting

Type: advisorySources: OSV

Decidim is a participatory democracy framework. Prior to 0.30.9, from 0.31.0 before 0.31.5, and in 0.32.0.rc1 before 0.32.0.rc2, the GET /admin/organization/users search interpolates params[:term] into raw Arel.sql ORDER BY similarity expressions before sanitization, allowing an authenticated organization administrator to execute blind PostgreSQL expressions and infer data through timing differences. This issue is fixed in versions 0.30.9, 0.31.5, and 0.32.0.rc2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-45376
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 02:05 UTC · Revision 1

Source evidence

Decidim: Admin user search allows SQL injection through similarity-based sorting

core-osv · Original source

Published 31 Jul 2026, 22:34 UTC

Decidim is a participatory democracy framework. Prior to 0.30.9, from 0.31.0 before 0.31.5, and in 0.32.0.rc1 before 0.32.0.rc2, the GET /admin/organization/users search interpolates params[:term] into raw Arel.sql ORDER BY similarity expressions before sanitization, allowing an authenticated organization administrator to execute blind PostgreSQL expressions and infer data through timing differences. This issue is fixed in versions 0.30.9, 0.31.5, and 0.32.0.rc2.

osv:CVE-2026-45376
Complete source record
{
  "id": "9a667c7e9f4a4d9b79e88e450c879ed814eb370b3772457c595e6a75d2dd8d35",
  "url": "https://osv.dev/vulnerability/CVE-2026-45376",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Decidim: Admin user search allows SQL injection through similarity-based sorting",
    "summary": "Decidim is a participatory democracy framework. Prior to 0.30.9, from 0.31.0 before 0.31.5, and in 0.32.0.rc1 before 0.32.0.rc2, the GET /admin/organization/users search interpolates params[:term] into raw Arel.sql ORDER BY similarity expressions before sanitization, allowing an authenticated organization administrator to execute blind PostgreSQL expressions and infer data through timing differences. This issue is fixed in versions 0.30.9, 0.31.5, and 0.32.0.rc2.",
    "evidence": "osv:CVE-2026-45376",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-45376",
      "aliases": [
        "CVE-2026-45376",
        "GHSA-jvqq-cvh4-xm37"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/decidim/decidim",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "899e5a43fa02b4709d95b63de7294289ea87cc41"
                },
                {
                  "introduced": "c3bc51462268ff734342aac28f456ac77837d4c8"
                },
                {
                  "fixed": "03d80881ac459127f0e11999c8a733cf78e78736"
                },
                {
                  "introduced": "1f92fc97fd7186639617ce1b2ca53b6cbecb1eb8"
                },
                {
                  "fixed": "f891077eb17bccc05afb1ba65c5c3073e811703c"
                },
                {
                  "fixed": "27335957b363516e23919a9006812f1c458c88e0"
                },
                {
                  "fixed": "e4d21b41fb462d9436035a043962a4090f2cc240"
                },
                {
                  "fixed": "f3817fac448a4e3facd6bcb346167048b3421124"
                },
                {
                  "fixed": "867174012910ba4f5f020a27444d47309fd19122"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.30.9"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0.31.0.rc1"
                      },
                      {
                        "fixed": "0.31.5"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0.32.0.rc1"
                      },
                      {
                        "fixed": "0.32.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "27335957b363516e23919a9006812f1c458c88e0"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "e4d21b41fb462d9436035a043962a4090f2cc240"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f3817fac448a4e3facd6bcb346167048b3421124"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "899e5a43fa02b4709d95b63de7294289ea87cc41"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.30.9"
                  },
                  {
                    "range": [
                      {
                        "fixed": "03d80881ac459127f0e11999c8a733cf78e78736"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.31.5"
                  },
                  {
                    "range": [
                      {
                        "fixed": "867174012910ba4f5f020a27444d47309fd19122"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.32.0.rc2"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.30.8",
            "v0.31.4",
            "v0.32.0.rc1",
            "v0.30.7",
            "v0.31.3",
            "v0.30.6",
            "v0.31.2",
            "v0.31.1",
            "v0.30.5",
            "v0.30.4",
            "v0.31.0",
            "v0.30.3",
            "v0.31.0.rc2",
            "v0.30.2",
            "v0.31.0.rc1",
            "v0.30.1",
            "v0.30.0",
            "v0.30.0.rc3",
            "v0.30.0.rc2",
            "v0.30.0.rc1",
            "v0.20.0",
            "v0.5.0",
            "v0.4.0",
            "v0.3.0",
            "v0.2.0",
            "v0.1.0",
            "v0.0.8.1",
            "v0.0.8",
            "v0.0.7",
            "v0.0.6",
            "v0.0.5",
            "v0.0.4",
            "v0.0.3",
            "v0.0.2",
            "v0.0.1",
            "v0.0.1.alpha9",
            "v0.0.1.alpha8",
            "v0.0.1.alpha7",
            "v0.0.1.alpha6",
            "v0.0.1.alpha5",
            "v0.0.1.alpha4",
            "v0.0.1.alpha3",
            "v0.0.1.alpha2",
            "v0.0.1.alpha1",
            "v0.0.1.alpha"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-45376.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:32.528872455Z",
      "provider": "osv",
      "references": [
        "https://github.com/decidim/decidim/releases/tag/v0.30.9",
        "https://github.com/decidim/decidim/releases/tag/v0.31.5",
        "https://github.com/decidim/decidim/releases/tag/v0.32.0.rc2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45376.json",
        "https://github.com/decidim/decidim/security/advisories/GHSA-jvqq-cvh4-xm37",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-45376",
        "https://github.com/decidim/decidim/commit/27335957b363516e23919a9006812f1c458c88e0",
        "https://github.com/decidim/decidim/commit/e4d21b41fb462d9436035a043962a4090f2cc240",
        "https://github.com/decidim/decidim/commit/f3817fac448a4e3facd6bcb346167048b3421124"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-89"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45376.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-45376",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 499543,
  "published_at": "2026-07-31T22:34:27.181+00:00"
}