Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: CVE-2021-22880

The PostgreSQL adapter in Active Record before 6.1.2.1, 6.0.3.5, 5.2.4.5 suffers from a regular expression denial of service (REDoS) vulnerability. Carefully crafted input can cause the input validation in the `money` type of the PostgreSQL adapter in Active Record to spend too much time in a regular expression, resulting in the potential for a DoS attack. This only impacts Rails applications that are using PostgreSQL along with money type columns that take user input.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2021-22880
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 07:29 UTC · Revision 1

Source evidence

CVE-2021-22880

core-osv · Original source

Published 11 Feb 2021, 18:15 UTC

The PostgreSQL adapter in Active Record before 6.1.2.1, 6.0.3.5, 5.2.4.5 suffers from a regular expression denial of service (REDoS) vulnerability. Carefully crafted input can cause the input validation in the `money` type of the PostgreSQL adapter in Active Record to spend too much time in a regular expression, resulting in the potential for a DoS attack. This only impacts Rails applications that are using PostgreSQL along with money type columns that take user input.

osv:CVE-2021-22880
Complete source record
{
  "id": "484c1ff2f0beb7a37184103944510a990c3bae630de1a26dd14eddfeeee0b4a1",
  "url": "https://osv.dev/vulnerability/CVE-2021-22880",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2021-22880",
    "summary": "The PostgreSQL adapter in Active Record before 6.1.2.1, 6.0.3.5, 5.2.4.5 suffers from a regular expression denial of service (REDoS) vulnerability. Carefully crafted input can cause the input validation in the `money` type of the PostgreSQL adapter in Active Record to spend too much time in a regular expression, resulting in the potential for a DoS attack. This only impacts Rails applications that are using PostgreSQL along with money type columns that take user input.",
    "evidence": "osv:CVE-2021-22880",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2021-22880",
      "aliases": [
        "CVE-2021-22880",
        "GHSA-8hc4-xxm3-5ppp"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/rails/rails",
              "type": "GIT",
              "events": [
                {
                  "introduced": "7847a19f476fb9bee287681586d872ea43785e53"
                },
                {
                  "fixed": "dc7364b1f39cf2fa3c3af3ea0f239f9ae1b5a790"
                },
                {
                  "introduced": "66cabeda2c46c582d19738e1318be8d59584cc5b"
                },
                {
                  "fixed": "c5929d5eb55b749bc124b3ccc2d79323d015701f"
                },
                {
                  "introduced": "914caca2d31bd753f47f9168f2a375921d9e91cc"
                },
                {
                  "fixed": "130c128eae233bf71231c73b9c3c3b3f3ede918b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "4.2.0"
                      },
                      {
                        "fixed": "5.2.4.5"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "6.0.0"
                      },
                      {
                        "fixed": "6.0.3.5"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:rubyonrails:rails:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "6.1.0"
                      },
                      {
                        "fixed": "6.1.2.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v6.1.2",
            "v6.0.3.4",
            "v6.1.1",
            "v6.1.0",
            "v6.0.3.3",
            "v6.0.3.2",
            "v6.0.3.1",
            "v6.0.3",
            "v6.0.3.rc1",
            "v6.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-22880.json"
          }
        }
      ],
      "modified": "2026-10-24T10:30:54.116293456Z",
      "provider": "osv",
      "references": [
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MO5OJ3F4ZL3UXVLJO6ECANRVZBNRS2IH/",
        "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/XQ3NS4IBYE2I3MVMGAHFZBZBIZGHXHT3/",
        "https://security.netapp.com/advisory/ntap-20210805-0009/",
        "https://www.debian.org/security/2021/dsa-4929",
        "https://discuss.rubyonrails.org/t/cve-2021-22880-possible-dos-vulnerability-in-active-record-postgresql-adapter/77129",
        "https://hackerone.com/reports/1023899"
      ],
      "provider_metadata": {
        "unresolved_ranges": [
          {
            "cpes": [
              "cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*",
              "cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*"
            ],
            "vendor_product": "fedoraproject:fedora",
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "32"
                  },
                  {
                    "last_affected": "32"
                  },
                  {
                    "introduced": "33"
                  },
                  {
                    "last_affected": "33"
                  }
                ],
                "source": "CPE_STRING"
              }
            ]
          }
        ]
      }
    },
    "related_cves": [
      {
        "value": "CVE-2021-22880",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 438076,
  "published_at": "2021-02-11T18:15:17.333+00:00"
}