Skip to content
Heist/ feed
Back to feed
HighFix available

ruby-mechanize — security advisory

Type: advisorySources: OSVAdvisory ID: DEBIAN-CVE-2021-21289

Mechanize is an open-source ruby library that makes automated web interaction easy. In Mechanize from version 2.0.0 and before version 2.7.7 there is a command injection vulnerability. Affected versions of mechanize allow for OS commands to be injected using several classes' methods which implicitly use Ruby's Kernel.open method. Exploitation is possible only if untrusted input is used as a local filename and passed to any of these calls: Mechanize::CookieJar#load, Mechanize::CookieJar#save_as, Mechanize#download, Mechanize::Download#save, Mechanize::File#save, and Mechanize::FileResponse#read_body. This is fixed in version 2.7.7.

Products
ruby-mechanize
Affected versions
Not specified
Fixed versions
2.7.7-1
CVEs
CVE-2021-21289
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 00:20 UTC · Revision 1

Source evidence

DEBIAN-CVE-2021-21289

core-osv · Original source

Published 2 Feb 2021, 19:15 UTC

Mechanize is an open-source ruby library that makes automated web interaction easy. In Mechanize from version 2.0.0 and before version 2.7.7 there is a command injection vulnerability. Affected versions of mechanize allow for OS commands to be injected using several classes' methods which implicitly use Ruby's Kernel.open method. Exploitation is possible only if untrusted input is used as a local filename and passed to any of these calls: Mechanize::CookieJar#load, Mechanize::CookieJar#save_as, Mechanize#download, Mechanize::Download#save, Mechanize::File#save, and Mechanize::FileResponse#read_body. This is fixed in version 2.7.7.

osv:DEBIAN-CVE-2021-21289

ruby-mechanize

Fixed versions: 2.7.7-1

ruby-mechanize

Fixed versions: 2.7.7-1

ruby-mechanize

Fixed versions: 2.7.7-1

Complete source record
{
  "id": "21855dc53624d78c3e5920c2e03cbd4d0fea89a468955895b6388b5b5b520343",
  "url": "https://osv.dev/vulnerability/DEBIAN-CVE-2021-21289",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "DEBIAN-CVE-2021-21289",
    "summary": "Mechanize is an open-source ruby library that makes automated web interaction easy. In Mechanize from version 2.0.0 and before version 2.7.7 there is a command injection vulnerability. Affected versions of mechanize allow for OS commands to be injected using several classes' methods which implicitly use Ruby's Kernel.open method. Exploitation is possible only if untrusted input is used as a local filename and passed to any of these calls: Mechanize::CookieJar#load, Mechanize::CookieJar#save_as, Mechanize#download, Mechanize::Download#save, Mechanize::File#save, and Mechanize::FileResponse#read_body. This is fixed in version 2.7.7.",
    "evidence": "osv:DEBIAN-CVE-2021-21289",
    "products": [
      {
        "name": {
          "value": "ruby-mechanize",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.7.7-1",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "ruby-mechanize",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.7.7-1",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "ruby-mechanize",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.7.7-1",
            "evidence": "/affected/2/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "DEBIAN-CVE-2021-21289",
      "aliases": [
        "DEBIAN-CVE-2021-21289"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.7.7-1"
                }
              ]
            }
          ],
          "package": {
            "name": "ruby-mechanize",
            "purl": "pkg:deb/debian/ruby-mechanize?arch=source&distro=bookworm",
            "ecosystem": "Debian:12"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2021-21289.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.7.7-1"
                }
              ]
            }
          ],
          "package": {
            "name": "ruby-mechanize",
            "purl": "pkg:deb/debian/ruby-mechanize?arch=source&distro=trixie",
            "ecosystem": "Debian:13"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2021-21289.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.7.7-1"
                }
              ]
            }
          ],
          "package": {
            "name": "ruby-mechanize",
            "purl": "pkg:deb/debian/ruby-mechanize?arch=source&distro=forky",
            "ecosystem": "Debian:14"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2021-21289.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        }
      ],
      "modified": "2026-10-23T18:03:11.433667345Z",
      "provider": "osv",
      "upstream": [
        "CVE-2021-21289"
      ],
      "references": [
        "https://security-tracker.debian.org/tracker/CVE-2021-21289"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2021-21289",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 420748,
  "published_at": "2021-02-02T19:15:14.22+00:00"
}