<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-09T09:21:03.517910+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-322077</id>
    <title>EUVD-2026-322077</title>
    <updated>2026-10-09T09:21:03.520473+00:00</updated>
    <content>EUVD-2026-322077</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-322077"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-44972</id>
    <title>fkie_cve-2026-44972</title>
    <updated>2026-10-09T09:21:03.520506+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-44972"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-m5p4-gvpx-4mvr</id>
    <title>GHSA-m5p4-gvpx-4mvr — GuardDog: Unsanitized human-readable scan output allows terminal escape injection from malicious package content</title>
    <updated>2026-10-09T09:21:03.520536+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: guarddog</p>
<p># Summary
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.</p>
<p># Description
The finding formatter stores file paths and snippets from scanned content:</p>
<p>```python
location = file_path + ":" + str(start_line)
finding = {
    "location": location,
    "code": code,
    "message": result["extra"]["message"],
}
```</p>
<p>The human-readable reporter later prints these values directly:</p>
<p>```python
"  * " + finding["message"] + " at " + finding["location"] + "\n    " + _format_code_line_for_output(finding["code"])
```</p>
<p>No escaping is applied for control characters such as `\x1b`. A malicious package can therefore ship a filename like:</p>
<p>```text
evil\x1b[2J.py
```</p>
<p>or matched source lines containing terminal escapes, which survive into the final CLI output.</p>
<p># Reproduction summary
1. Create a file whose name contains `\x1b[2J`.
2. Feed a semgrep-style result referencing that file into `Analyzer._format_semgrep_response()`.
3. Render the result with `HumanReadableReporter.print_scan_results()`.
4. The output string contains the raw escape bytes, which a terminal may interpret.</p>
<p># Key code paths
- `guarddog/analyzer/analyzer.py:377-392`
- `guarddog/reporters/human_readable.py:36-42`
- `guarddog/reporters/human_readable.py:84-91`</p>
<p># Practical impact
This can be used t…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-m5p4-gvpx-4mvr"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/pysec-2026-2506</id>
    <title>PYSEC-2026-2506 — GuardDog: Unsanitized human-readable scan output allows terminal escape injection from malicious package content</title>
    <updated>2026-10-09T09:21:03.520584+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: guarddog</p>
<p># Summary
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.</p>
<p># Description
The finding formatter stores file paths and snippets from scanned content:</p>
<p>```python
location = file_path + ":" + str(start_line)
finding = {
    "location": location,
    "code": code,
    "message": result["extra"]["message"],
}
```</p>
<p>The human-readable reporter later prints these values directly:</p>
<p>```python
"  * " + finding["message"] + " at " + finding["location"] + "\n    " + _format_code_line_for_output(finding["code"])
```</p>
<p>No escaping is applied for control characters such as `\x1b`. A malicious package can therefore ship a filename like:</p>
<p>```text
evil\x1b[2J.py
```</p>
<p>or matched source lines containing terminal escapes, which survive into the final CLI output.</p>
<p># Reproduction summary
1. Create a file whose name contains `\x1b[2J`.
2. Feed a semgrep-style result referencing that file into `Analyzer._format_semgrep_response()`.
3. Render the result with `HumanReadableReporter.print_scan_results()`.
4. The output string contains the raw escape bytes, which a terminal may interpret.</p>
<p># Key code paths
- `guarddog/analyzer/analyzer.py:377-392`
- `guarddog/reporters/human_readable.py:36-42`
- `guarddog/reporters/human_readable.py:84-91`</p>
<p># Practical impact
This can be used t…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/pysec-2026-2506"/>
  </entry>
</feed>
