{"id":"CVE-2026-49146","aliases":["ALPINE-CVE-2026-49146","DEBIAN-CVE-2026-49146","EUVD-2026-42274","GHSA-hf7w-mcpw-97mf","MGASA-2026-0239","UBUNTU-CVE-2026-49146","openSUSE-SU-2026:10965-1"],"status":"published","title":"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.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-10","score":0.00609,"percentile":0.49505,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-770"],"published":"2026-06-08T00:00:00Z","modified":"2026-11-09T14:00:09Z","fixes":[{"ecosystem":"Alpine:v3.24","package":"ack","fixed_in":["3.10.0-r0"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"ack","fixed_in":["3.10.0-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.24","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.0-r0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.10.0-1","3.6.0-1","3.7.0-1","3.8.1-1"]},{"source":"osv","ecosystem":"Debian:13","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.10.0-1","3.8.1-1"]},{"source":"osv","ecosystem":"Debian:14","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.0-1"}]}],"versions":["3.8.1-1"]},{"source":"osv","ecosystem":"Mageia:10","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.0-1.mga10"}]}],"bundled":3},{"source":"osv","ecosystem":"Mageia:9","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.0-1.mga9"}]}],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.22-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.2-1","3.1.3-1","3.2.0-1","3.3.1-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.4.0-1","3.5.0-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.7.0-1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.7.0-1","3.8.1-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.8.1-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.8.1-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"ack","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.0-1.1"}]}],"bundled":3}],"products":[{"vendor":"petdance","product":"app::ack"}],"references":[{"url":"https://github.com/beyondgrep/ack3/commit/45ff5fe77dbd96f7332f31943102291f878f30b8.patch","tags":["patch","fix"]},{"url":"https://metacpan.org/release/PETDANCE/ack-v3.10.0/source/Changes","tags":["release-notes","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2026/07/08/8","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-49146","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-hf7w-mcpw-97mf"},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-49146","tags":["advisory"]},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49146.json","tags":["advisory"]},{"url":"https://github.com/beyondgrep/ack3","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-49146","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0239.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=35664","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/message/5QFID6AUNN2U5BWSLHBGVDHSTEXUG6CE/","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-49146","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-49146","tags":["report"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/41643307/","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-49145","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-49146","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-49147","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-49146","title":"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.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.","status":"published","published":"2026-07-08T14:55:37.207Z","modified":"2026-07-08T17:31:33.218Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T13:34:59.78118Z"}],"euvd":[{"id":"EUVD-2026-42274","description":"App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.","status":"published","published":"2026-07-08T14:55:37Z","modified":"2026-07-08T17:31:33Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T18:20:10.095263Z"}],"ghsa":[{"id":"GHSA-hf7w-mcpw-97mf","title":"App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value...","description":"App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.","status":"published","published":"2026-07-08T15:32:03Z","modified":"2026-07-08T21:30:27Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T15:09:20.268554Z"}],"nvd":[{"id":"CVE-2026-49146","description":"App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.","status":"published","published":"2026-07-08T15:16:27.673Z","modified":"2026-10-25T20:10:00.147Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T14:12:28.040501Z"}],"osv":[{"id":"ALPINE-CVE-2026-49146","description":"App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.","status":"published","published":"2026-07-08T15:16:27.673Z","modified":"2026-10-01T02:17:49.327381942Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T15:27:50.764331Z"},{"id":"CVE-2026-49146","title":"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.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.","status":"published","published":"2026-07-08T14:55:37.207Z","modified":"2026-10-28T02:30:45.425131664Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-770"],"updated_at":"2026-11-02T15:45:07.060148Z"},{"id":"DEBIAN-CVE-2026-49146","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.","status":"published","published":"2026-07-08T15:16:27.673Z","modified":"2026-11-09T14:00:09.604358177Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-09T14:31:39.434822Z"},{"id":"UBUNTU-CVE-2026-49146","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.","status":"published","published":"2026-07-08T15:16:00Z","modified":"2026-10-17T12:58:32.107089084Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T16:56:33.391918Z"},{"id":"MGASA-2026-0239","title":"Updated ack packages fix security vulnerabilities","description":"This update fixes several security vulnerabilities.\n","status":"published","published":"2026-07-09T16:46:08Z","modified":"2026-07-09T17:00:04.45991717Z","updated_at":"2026-11-02T15:49:43.795591Z"},{"id":"openSUSE-SU-2026:10965-1","title":"ack-3.10.0-1.1 on GA media","description":"These are all security issues fixed in the ack-3.10.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-06-08T00:00:00Z","modified":"2026-06-09T09:00:05.858853414Z","updated_at":"2026-11-02T16:58:38.95195Z"}]}}
