<?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://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-30T22:01:05.999309+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" 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://vulnerability.circl.lu/vuln/bdu:2026-15036</id>
    <title>bdu:2026-15036</title>
    <updated>2026-09-30T22:01:06.227414+00:00</updated>
    <content>bdu:2026-15036</content>
    <link href="https://vulnerability.circl.lu/vuln/bdu:2026-15036"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/brew-acronym-cve-2026-79676</id>
    <title>BREW-acronym-CVE-2026-79676 — NLTK: Corpus readers follow symlinks outside trusted roots despite pathsec enforcement</title>
    <updated>2026-09-30T22:01:06.227522+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: acronym</p>
<p>### Summary</p>
<p>Several corpus readers still step outside NLTK's symlink-aware trusted-root model. They derive in-root paths from trusted corpus state, convert those paths back into plain strings, and reopen them with built-in `open()` rather than `nltk.pathsec.open()`.</p>
<p>### Details</p>
<p>- **Vulnerability type:** Path traversal and symlink boundary bypass
- **Affected component:** `nltk.corpus.reader.ipipan`, `nltk.corpus.reader.crubadan`, `nltk.corpus.reader.lin`
- **Affected versions:** Published `3.9.4` and current source `v3.10.0-rc2` both reproduced.
- **Patched versions:** Not yet patched
- **Root cause:** Root-derived paths are reopened with raw `open()` without preserving the trusted-root boundary.</p>
<p>`IPIPANCorpusReader` opens `header.xml` derived from `morph.xml`, `CrubadanCorpusReader` opens `table.txt` directly, and `LinThesaurusCorpusReader` opens `simN.lsp` paths returned from its own root helpers. Under `pathsec.ENFORCE=True`, a symlink placed inside the trusted corpus root can point outside the root and still be parsed successfully. It was confirmed parsed outside-root content is returned through public methods such as `channels()`, `domains()`, `categories()`, `langs()`, `crubadan_to_iso()`, `synonyms()`, and `scored_synonyms()`.</p>
<p>### PoC</p>
<p>**Preconditions**
- The application processes attacker-influenced corpora inside a trusted NLTK data root or trusted corpus directory.</p>
<p>**Steps**
1. Create a trusted corpus root and keep `pathsec.ENFORCE=True` with that root allowl…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/brew-acronym-cve-2026-79676"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-79676</id>
    <title>fkie_cve-2026-79676</title>
    <updated>2026-09-30T22:01:06.227669+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>NLTK versions before 3.10.3 contain a path traversal vulnerability in corpus readers that reopen root-derived paths using built-in open() instead of nltk.pathsec.open(), allowing symlinks to escape trusted roots. Attackers who stage symlinked corpus files under a trusted data root can disclose outside-root content through normal corpus reader methods like channels(), domains(), and synonyms().</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-79676"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-p4rw-rvv2-7xwr</id>
    <title>GHSA-p4rw-rvv2-7xwr — NLTK: Corpus readers follow symlinks outside trusted roots despite pathsec enforcement</title>
    <updated>2026-09-30T22:01:06.227721+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: nltk</p>
<p>### Summary</p>
<p>Several corpus readers still step outside NLTK's symlink-aware trusted-root model. They derive in-root paths from trusted corpus state, convert those paths back into plain strings, and reopen them with built-in `open()` rather than `nltk.pathsec.open()`.</p>
<p>### Details</p>
<p>- **Vulnerability type:** Path traversal and symlink boundary bypass
- **Affected component:** `nltk.corpus.reader.ipipan`, `nltk.corpus.reader.crubadan`, `nltk.corpus.reader.lin`
- **Affected versions:** Published `3.9.4` and current source `v3.10.0-rc2` both reproduced.
- **Patched versions:** Not yet patched
- **Root cause:** Root-derived paths are reopened with raw `open()` without preserving the trusted-root boundary.</p>
<p>`IPIPANCorpusReader` opens `header.xml` derived from `morph.xml`, `CrubadanCorpusReader` opens `table.txt` directly, and `LinThesaurusCorpusReader` opens `simN.lsp` paths returned from its own root helpers. Under `pathsec.ENFORCE=True`, a symlink placed inside the trusted corpus root can point outside the root and still be parsed successfully. It was confirmed parsed outside-root content is returned through public methods such as `channels()`, `domains()`, `categories()`, `langs()`, `crubadan_to_iso()`, `synonyms()`, and `scored_synonyms()`.</p>
<p>### PoC</p>
<p>**Preconditions**
- The application processes attacker-influenced corpora inside a trusted NLTK data root or trusted corpus directory.</p>
<p>**Steps**
1. Create a trusted corpus root and keep `pathsec.ENFORCE=True` with that root allowl…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-p4rw-rvv2-7xwr"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/pysec-2026-3737</id>
    <title>PYSEC-2026-3737</title>
    <updated>2026-09-30T22:01:06.227821+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: nltk</p>
<p>NLTK versions before 3.10.3 contain a path traversal vulnerability in corpus readers that reopen root-derived paths using built-in open() instead of nltk.pathsec.open(), allowing symlinks to escape trusted roots. Attackers who stage symlinked corpus files under a trusted data root can disclose outside-root content through normal corpus reader methods like channels(), domains(), and synonyms().</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/pysec-2026-3737"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-79676</id>
    <title>UBUNTU-CVE-2026-79676</title>
    <updated>2026-09-30T22:01:06.227857+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Ubuntu:Pro:14.04:LTS: nltk, Ubuntu:Pro:16.04:LTS: nltk, Ubuntu:Pro:18.04:LTS: nltk, Ubuntu:Pro:20.04:LTS: nltk, Ubuntu:Pro:22.04:LTS: nltk, Ubuntu:Pro:24.04:LTS: nltk, Ubuntu:Pro:26.04:LTS: nltk</p>
<p>NLTK versions before 3.10.3 contain a path traversal vulnerability in corpus readers that reopen root-derived paths using built-in open() instead of nltk.pathsec.open(), allowing symlinks to escape trusted roots. Attackers who stage symlinked corpus files under a trusted data root can disclose outside-root content through normal corpus reader methods like channels(), domains(), and synonyms().</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ubuntu-cve-2026-79676"/>
  </entry>
</feed>
