GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

GHSA-88CV-MJ24-8W3Q

Vulnerability from github – Published: 2022-09-21 17:00 – Updated: 2022-09-21 17:00
VLAI
Summary
arr-pm vulnerable to arbitrary shell execution when extracting or listing files contained in a malicious rpm.
Details

Impact

Arbitrary shell execution is possible when using RPM::File#files and RPM::File#extract if the RPM contains a malicious "payload compressor" field.

This vulnerability impacts the extract and files methods of the RPM::File class in the affected versions of this library.

Patches

Version 0.0.12 is available with a fix for these issues.

Workarounds

When using an affected version of this library (arr-pm), ensure any RPMs being processed contain valid/known payload compressor values. Such values include: gzip, bzip2, xz, zstd, and lzma.

You can check the payload compressor field in an rpm by using the rpm command line tool. For example:

% rpm -qp example-1.0-1.x86_64.rpm --qf "%{PAYLOADCOMPRESSOR}\n"
gzip

Impact on known dependent projects

This library is used by fpm. The vulnerability may impact fpm only when using the flag -s rpm or --input-type rpm to convert a malicious rpm to another format. It does not impact creating rpms.

References

  • https://github.com/jordansissel/ruby-arr-pm/pull/14
  • https://github.com/jordansissel/ruby-arr-pm/pull/15

Credit

Thanks to @joernchen for reporting this problem and contributing to the resolution :)

For more information

If you have any questions or comments about this advisory: * Open an issue in the arr-pm issue tracker

Show details on source website

{
  "affected": [
    {
      "package": {
        "ecosystem": "RubyGems",
        "name": "arr-pm"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "0.0.12"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "aliases": [
    "CVE-2022-39224"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-78"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2022-09-21T17:00:12Z",
    "nvd_published_at": "2022-09-21T23:15:00Z",
    "severity": "HIGH"
  },
  "details": "### Impact\n\nArbitrary shell execution is possible when using RPM::File#files and RPM::File#extract if the RPM contains a malicious \"payload compressor\" field.\n\nThis vulnerability impacts the `extract` and `files` methods of the `RPM::File` class in the affected versions of this library.\n\n### Patches\n\nVersion 0.0.12 is available with a fix for these issues.\n\n### Workarounds\n\nWhen using an affected version of this library (arr-pm), ensure any RPMs being processed contain valid/known payload compressor values. Such values include: gzip, bzip2, xz, zstd, and lzma.\n\nYou can check the payload compressor field in an rpm by using the rpm command line tool. For example:\n\n```\n% rpm -qp example-1.0-1.x86_64.rpm --qf \"%{PAYLOADCOMPRESSOR}\\n\"\ngzip\n```\n\n### Impact on known dependent projects\n\nThis library is used by [fpm](https://github.com/jordansissel/fpm). The vulnerability may impact fpm only when using the flag `-s rpm` or `--input-type rpm` to convert a malicious rpm to another format. It does not impact creating rpms.\n\n### References\n\n* https://github.com/jordansissel/ruby-arr-pm/pull/14\n* https://github.com/jordansissel/ruby-arr-pm/pull/15\n\n### Credit\n\nThanks to @joernchen for reporting this problem and contributing to the resolution :)\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n* Open an issue in [the arr-pm issue tracker](https://github.com/jordansissel/ruby-arr-pm/)\n\n",
  "id": "GHSA-88cv-mj24-8w3q",
  "modified": "2022-09-21T17:00:12Z",
  "published": "2022-09-21T17:00:12Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/jordansissel/ruby-arr-pm/security/advisories/GHSA-88cv-mj24-8w3q"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-39224"
    },
    {
      "type": "WEB",
      "url": "https://github.com/jordansissel/ruby-arr-pm/pull/14"
    },
    {
      "type": "WEB",
      "url": "https://github.com/jordansissel/ruby-arr-pm/pull/15"
    },
    {
      "type": "PACKAGE",
      "url": "https://github.com/jordansissel/ruby-arr-pm"
    },
    {
      "type": "WEB",
      "url": "https://github.com/rubysec/ruby-advisory-db/blob/master/gems/arr-pm/CVE-2022-39224.yml"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "arr-pm vulnerable to arbitrary shell execution when extracting or listing files contained in a malicious rpm."
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…