Description
App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc. ack searches up the directory hierarchy from the current directory for a project .ackrc and loads its options. The project-source option blocklist in App::Ack::ConfigLoader does not include --files-from, so a project .ackrc can set it to a path whose listed files ack then reads and searches. Version 3.10.0 added --follow to the blocklist; --files-from remains accepted. A project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.
Problem types
CWE-73 External Control of File Name or Path
Product status
Any version
Timeline
| 2026-06-07: | Version 3.10.0 released with partial fix for the --follow option. |
Credits
Michał Majchrowicz (AFINE)
Marcin Wyczechowski (AFINE)
References
metacpan.org/release/PETDANCE/ack-v3.10.0/source/Changes