CVE-2026-49146: App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value in a project .ackrc
Stig Palmquist 08 Jul 2026 14:58 UTC
========================================================================
CVE-2026-49146 CPAN Security Group
========================================================================
CVE ID: CVE-2026-49146
Distribution: ack
Versions: before 3.10.0
MetaCPAN: https://metacpan.org/dist/ack
VCS Repo: https://github.com/beyondgrep/ack3
App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an
unbounded context value in a project .ackrc
Description
-----------
App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an
unbounded context value in a project .ackrc.
ack searches up the directory hierarchy from the current directory for
a project .ackrc and loads its options. The -B and -C context options
accepted any positive integer, and ack sized the before-context buffer
to that value, so a project .ackrc setting --before-context=100000000
made ack allocate a buffer of 100 million elements.
A project .ackrc committed to an untrusted repository can abort ack
with an out-of-memory condition.
Problem types
-------------
- CWE-770 Allocation of Resources Without Limits or Throttling
Solutions
---------
Upgrade to ack 3.10.0 or later.
References
----------
https://github.com/beyondgrep/ack3/commit/45ff5fe77dbd96f7332f31943102291f878f30b8.patch
https://metacpan.org/release/PETDANCE/ack-v3.10.0/source/Changes
Timeline
--------
- 2026-06-07: Version 3.10.0 released with fix.
Credits
-------
MichaĆ Majchrowicz (AFINE), finder
Marcin Wyczechowski (AFINE), finder