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.
Published: 2026-05-27
Score: 5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

GuardDog, a CLI tool that identifies malicious PyPI packages, includes attacker‑controlled filenames, file locations, messages, and code snippets in its default human‑readable output between versions 2.6.0 and 2.9.0 without escaping terminal control characters. This lack of sanitization allows a malicious package to inject ANSI or OSC escape sequences that are interpreted by analyst terminals or CI logs, potentially altering the visual output or tampering with log contents.

Affected Systems

DataDog GuardDog versions 2.6.0 through 2.9.0 are affected. Any system running these releases and displaying GuardDog’s output in a terminal or CI environment that processes ANSI/OSC escape codes is at risk. The tool is typically used by security analysts and continuous‑integration pipelines to scan Python packages.

Risk and Exploitability

The CVSS score of 5.0 indicates moderate severity. Exploitation requires a malicious package to be supplied for scanning, which is realistic in supply‑chain attack scenarios. EPSS is not available, and the vulnerability is not yet listed in CISA KEV, suggesting no widespread exploitation. The attack vector is primarily local or controlled by the analyst running GuardDog, as it relies on displaying unescaped output.

Generated by OpenCVE AI on May 27, 2026 at 21:13 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade GuardDog to the most recent release available, and verify that the change log indicates sanitization of terminal control characters in human‑readable output.
  • Configure GuardDog to use a non‑human‑readable mode or redirect its output to a file or structured format that does not include terminal escape sequences.
  • Adjust your terminal or CI environment to suppress or escape ANSI/OSC sequences, or use a terminal that ignores such codes.

Generated by OpenCVE AI on May 27, 2026 at 21:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-m5p4-gvpx-4mvr GuardDog: Unsanitized human-readable scan output allows terminal escape injection from malicious package content
History

Sat, 30 May 2026 21:15:00 +0000

Type Values Removed Values Added
First Time appeared Datadoghq
Datadoghq guarddog
Vendors & Products Datadoghq
Datadoghq guarddog

Wed, 27 May 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 27 May 2026 15:15:00 +0000

Type Values Removed Values Added
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.
Title GuardDog: Unsanitized human-readable scan output allows terminal escape injection from malicious package content
Weaknesses CWE-116
References
Metrics cvssV3_1

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


Subscriptions

Datadoghq Guarddog
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-27T15:34:32.271Z

Reserved: 2026-05-08T16:23:33.263Z

Link: CVE-2026-44972

cve-icon Vulnrichment

Updated: 2026-05-27T15:34:28.544Z

cve-icon NVD

Status : Deferred

Published: 2026-05-27T15:16:29.690

Modified: 2026-05-29T15:39:34.620

Link: CVE-2026-44972

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-30T21:00:12Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output