{"id":"CVE-2026-49145","aliases":["ALPINE-CVE-2026-49145","DEBIAN-CVE-2026-49145","EUVD-2026-42288","GHSA-c2rv-g977-2fxr","MGASA-2026-0239","UBUNTU-CVE-2026-49145","openSUSE-SU-2026:10965-1"],"status":"published","title":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc","description":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.","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-09","score":0.00488,"percentile":0.42299,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-426","CWE-73"],"published":"2026-06-08T00:00:00Z","modified":"2026-11-09T14:00:10Z","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://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/7","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-49145","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-c2rv-g977-2fxr"},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-49145","tags":["advisory"]},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49145.json","tags":["advisory"]},{"url":"https://github.com/beyondgrep/ack3","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-49145","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-49145","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-49145","tags":["report"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/41643327/","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-49145","title":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc","description":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.","status":"published","published":"2026-07-08T14:55:13.819Z","modified":"2026-07-08T17:31:32.12Z","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-73","CWE-426"],"updated_at":"2026-11-02T13:35:10.963527Z"}],"euvd":[{"id":"EUVD-2026-42288","description":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.","status":"published","published":"2026-07-08T14:55:13Z","modified":"2026-07-08T17:31:32Z","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-c2rv-g977-2fxr","title":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project ...","description":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.","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-73"],"updated_at":"2026-11-02T15:09:20.268554Z"}],"nvd":[{"id":"CVE-2026-49145","description":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.","status":"published","published":"2026-07-08T15:16:27.563Z","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-73","CWE-426"],"updated_at":"2026-11-02T14:12:28.040501Z"}],"osv":[{"id":"ALPINE-CVE-2026-49145","description":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.","status":"published","published":"2026-07-08T15:16:27.563Z","modified":"2026-10-01T02:17:49.326543066Z","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-49145","title":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc","description":"App::Ack versions through 3.10.0 for Perl read arbitrary files via --files-from in a project .ackrc.\n\nack 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.\n\nA project .ackrc committed to an untrusted repository can make ack read files outside the project and print their matching lines.","status":"published","published":"2026-07-08T14:55:13.819Z","modified":"2026-10-28T02:31:08.509279788Z","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-426","CWE-73"],"updated_at":"2026-11-02T15:45:07.060148Z"},{"id":"DEBIAN-CVE-2026-49145","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.","status":"published","published":"2026-07-08T15:16:27.563Z","modified":"2026-11-09T14:00:10.138804927Z","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-49145","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.","status":"published","published":"2026-07-08T15:16:00Z","modified":"2026-10-17T12:58:31.784691559Z","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"}]}}
