{"id":"CVE-2026-49147","aliases":["ALPINE-CVE-2026-49147","DEBIAN-CVE-2026-49147","EUVD-2026-42275","GHSA-p4vj-7pqg-xhr6","MGASA-2026-0239","UBUNTU-CVE-2026-49147","openSUSE-SU-2026:10965-1"],"status":"published","title":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.\n\nWhen ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.\n\nA file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","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.42295,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-150"],"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://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/9","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-49147","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-p4vj-7pqg-xhr6"},{"url":"https://security.alpinelinux.org/vuln/CVE-2026-49147","tags":["advisory"]},{"url":"https://cpan.org/modules","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49147.json","tags":["advisory"]},{"url":"https://github.com/beyondgrep/ack3","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-49147","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-49147","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-49147","tags":["report"]},{"url":"https://lists.security.metacpan.org/cve-announce/msg/41643446/","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-49147","title":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.\n\nWhen ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.\n\nA file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","status":"published","published":"2026-07-08T14:55:50.232Z","modified":"2026-07-08T17:31:34.336Z","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-150"],"updated_at":"2026-11-02T13:35:10.963527Z"}],"euvd":[{"id":"EUVD-2026-42275","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.\n\nWhen ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.\n\nA file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","status":"published","published":"2026-07-08T14:55:50Z","modified":"2026-07-08T17:31:34Z","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-p4vj-7pqg-xhr6","title":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from...","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.\n\nWhen ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.\n\nA file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","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-150"],"updated_at":"2026-11-02T15:09:20.268554Z"}],"nvd":[{"id":"CVE-2026-49147","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.\n\nWhen ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.\n\nA file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","status":"published","published":"2026-07-08T15:16:27.787Z","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-150"],"updated_at":"2026-11-02T14:12:28.040501Z"}],"osv":[{"id":"ALPINE-CVE-2026-49147","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.\n\nWhen ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.\n\nA file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","status":"published","published":"2026-07-08T15:16:27.787Z","modified":"2026-10-01T02:17:49.327410085Z","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-49147","title":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.\n\nWhen ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.\n\nA file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","status":"published","published":"2026-07-08T14:55:50.232Z","modified":"2026-10-28T02:30:49.977900756Z","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-150"],"updated_at":"2026-11-02T15:45:07.060148Z"},{"id":"DEBIAN-CVE-2026-49147","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes.  When ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename.  A file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","status":"published","published":"2026-07-08T15:16:27.787Z","modified":"2026-11-09T14:00:09.915454437Z","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-49147","description":"App::Ack versions through 3.10.0 for Perl print unsanitised terminal escape sequences from filenames in several output modes. When ack prints a filename whose basename contains terminal control bytes such as ANSI escape sequences, those bytes reach the terminal unchanged. Version 3.10.0 added a _safe_filename helper that sanitises the filenames printed by -f, -g, the colored match heading, and per-match lines, but the --show-types, -l/-L, and -c paths still emit the raw filename. A file whose name embeds cursor-movement or color escapes can overwrite or recolor earlier terminal output, or be passed unchanged to a downstream consumer.","status":"published","published":"2026-07-08T15:16:00Z","modified":"2026-10-17T12:58:32.403955271Z","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"}]}}
