arr-pm vulnerable to arbitrary shell execution when extracting or listing files contained in a malicious rpm.
High severity
GitHub Reviewed
Published
Sep 19, 2022
in
jordansissel/ruby-arr-pm
•
Updated Jan 31, 2023
Description
Published to the GitHub Advisory Database
Sep 21, 2022
Reviewed
Sep 21, 2022
Published by the National Vulnerability Database
Sep 21, 2022
Last updated
Jan 31, 2023
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
andfiles
methods of theRPM::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:
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