An open API service providing security vulnerability metadata for many open source software ecosystems.

GSA_kwCzR0hTQS04OGN2LW1qMjQtOHczcc4AAu96

High EPSS: 0.00538% (0.66521 Percentile) EPSS:

arr-pm vulnerable to arbitrary shell execution when extracting or listing files contained in a malicious rpm.

Affected Packages Affected Versions Fixed Versions
rubygems:arr-pm
PURL: pkg:gem/arr-pm
< 0.0.12 0.0.12
9 Dependent packages
1,031 Dependent repositories
67,160,832 Downloads total

Affected Version Ranges

All affected versions

0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10, 0.0.11

All unaffected versions

0.0.12

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

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:

References: