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.
Published: 2026-07-08
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Ack for Perl allows a user‑defined context value to dictate the size of an internal buffer used for formatting search results. This is a CWE‑770 weakness. The –B and –C options accept any positive integer and exact size; a malicious project .ackrc containing a line such as --before-context=100000000 therefore causes Ack to request a buffer of 100 million elements, exhausting available memory and causing the program to abort with an out‑of‑memory error. This results in a denial of service for any user running Ack against a repository contains such a .ackrc, effectively disrupting workflows and potentially allowing exploitation through resource exhaustion when the program repeatedly restarts or hangs.

Affected Systems

The vulnerability is present in all sources of Petdance's App::Ack Perl module prior to version 3.10.0. Users who deploy Ack in environments that read project .ackrc files from repositories hosted or accessed by untrusted users are most at risk, especially when a crafted .ackrc file is present in a repository that Ack will search.

Risk and Exploitability

The CVSS base score for this issue is 7.5, indicating a high‑severity denial of service weakness. The EPSS score is < 1% and the vulnerability is not listed in the CISA KEV catalog, but the exploit potential remains significant because any run of Ack against a repository containing a malicious .ackrc leads to a crash. The attack vector is inferred to be local or remote depending on who can commit an arbitrary .ackrc, and thus defenders should consider the possibility of an attacker forging a repository or influencing a build environment.

Generated by OpenCVE AI on July 29, 2026 at 14:05 UTC.

Remediation

Vendor Solution

Upgrade to ack 3.10.0 or later.


OpenCVE Recommended Actions

  • Upgrade Ack to version 3.10.0 or later to eliminate the unbounded context buffer, addressing the CWE‑770 weakness.
  • Remove or replace any .ackrc files stored in repositories that are not fully trusted, ensuring that context values cannot be set to excessively large numbers, mitigating the CWE‑770 resource exhaustion risk.
  • Configure Ack to use a safe maximum for before‑and after‑context, or run Ack with the --no‑rc option when scanning repositories that may contain untrusted configuration files to avoid triggering the CWE‑770 flaw.

Generated by OpenCVE AI on July 29, 2026 at 14:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 10 Jul 2026 10:15:00 +0000

Type Values Removed Values Added
First Time appeared Petdance
Petdance app::ack
Vendors & Products Petdance
Petdance app::ack

Wed, 08 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 08 Jul 2026 15:00:00 +0000

Type Values Removed Values Added
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.
Title App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value in a project .ackrc
Weaknesses CWE-770
References

Subscriptions

Petdance App::ack
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-07-08T17:31:33.218Z

Reserved: 2026-05-27T17:50:04.538Z

Link: CVE-2026-49146

cve-icon Vulnrichment

Updated: 2026-07-08T17:31:33.218Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T14:15:03Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling