CVE-2026-44972
Deferred Deferred - Pending Action
GuardDog Terminal Control Character Injection in Output

Publication date: 2026-05-27

Last updated on: 2026-05-29

Assigner: GitHub, Inc.

Description
GuardDog is a CLI tool to identify malicious PyPI packages. From 2.6.0 to 2.9.0, GuardDog includes attacker-controlled filenames, file locations, messages, and code snippets in its default human-readable output without escaping terminal control characters. A malicious package can therefore inject ANSI or OSC escape sequences into analyst terminals or CI logs.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-27
Last Modified
2026-05-29
Generated
2026-06-16
AI Q&A
2026-05-27
EPSS Evaluated
2026-06-15
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
guarddog guarddog From 2.6.0 (inc) to 2.9.0 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-116 The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

The vulnerability exists in GuardDog versions 2.6.0 to 2.9.0, a CLI tool used to identify malicious PyPI packages. In these versions, GuardDog includes attacker-controlled filenames, file locations, messages, and code snippets in its default human-readable output without escaping terminal control characters. This allows a malicious package to inject ANSI or OSC escape sequences into analyst terminals or CI logs.

Impact Analysis

This vulnerability can impact you by allowing a malicious package to inject terminal control sequences into your terminal or continuous integration logs. This could lead to unexpected behavior in your terminal, potential manipulation of terminal output, or interference with log integrity, which may confuse analysts or automated systems reviewing these outputs.

Detection Guidance

This vulnerability can be detected by examining the output of GuardDog scans for the presence of unescaped terminal control characters such as ANSI or OSC escape sequences in filenames, file locations, messages, or code snippets.

Since the vulnerability arises from the HumanReadableReporter.print_scan_results() function rendering unescaped attacker-controlled values, you can manually inspect scan outputs for suspicious terminal behavior like unexpected clearing or rewriting of terminal output or clickable hyperlinks.

No specific detection commands are provided in the available resources.

Mitigation Strategies

Immediate mitigation involves avoiding the use of vulnerable GuardDog versions (2.6.0 to 2.9.0) or refraining from using the human-readable output feature that renders unescaped attacker-controlled values.

Since no patches or public fixes exist as of the advisory date, a suggested fix is to escape or strip terminal control characters from attacker-controlled values before rendering them in the output.

Additionally, be cautious when running GuardDog scans on untrusted packages and consider reviewing scan outputs in environments that do not interpret terminal control sequences.

Compliance Impact

The provided information does not specify any direct impact of this vulnerability on compliance with common standards and regulations such as GDPR or HIPAA.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-44972. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart