<?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://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-11-12T07:24:56.771944+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" 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://db.gcve.eu/vuln/brew-acronym-cve-2026-12074</id>
    <title>BREW-acronym-CVE-2026-12074 — Natural Language Toolkit (NLTK) has path traversal in FramenetCorpusReader.frame() that allows arbitrary XML file read,…</title>
    <updated>2026-11-12T07:24:56.777413+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: acronym</p>
<p>### Summary
`FramenetCorpusReader.frame(name)` interpolates a caller-supplied frame name into an XML file path that is read with the builtin `open()`, bypassing `CorpusReader.open()` and the `nltk.pathsec` sandbox — including strict `ENFORCE=True` mode. A `../` sequence in the name escapes the corpus root, yielding an arbitrary XML file read whose parsed content is returned to the caller.</p>
<p>### Details
`frame_by_name` builds the path by joining the corpus root, the frame directory, and the caller-supplied name with a fixed `.xml` extension, with no containment check, then constructs an `XMLCorpusView` from that **string** path. Because the view is built from a string rather than a `PathPointer`, it reads with the builtin `open()`, so `nltk.pathsec.validate_path()` is never invoked and `ENFORCE=True` does not block the access. This is the same path-traversal class previously hardened for the generic corpus readers; `frame_by_name` never goes through `CorpusReader.open()`, so that protection does not apply.</p>
<p>The same string-path-into-`XMLCorpusView` pattern exists in two sibling methods that take a name from corpus data rather than the immediate caller:
- `doc()` — uses the index entry `filename` field
- the lexical-unit file loader — uses the `lexUnit` ID attribute</p>
<p>These are reachable through a malicious or attacker-modified FrameNet corpus index.</p>
<p>### PoC
```python
"""</p>
<p>import os
import sys
import tempfile
import warnings
from pathlib import Path</p>
<p>warnings.filterwarnings("i…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/brew-acronym-cve-2026-12074"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/certfr-2026-avi-1486</id>
    <title>certfr-2026-avi-1486 — De multiples vulnérabilités ont été découvertes dans les produits VMware. Elles permettent à un attaquant de provoquer…</title>
    <updated>2026-11-12T07:24:56.777519+00:00</updated>
    <content>certfr-2026-avi-1486</content>
    <link href="https://db.gcve.eu/vuln/certfr-2026-avi-1486"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-xh95-f55m-82fw</id>
    <title>GHSA-xh95-f55m-82fw — Natural Language Toolkit (NLTK) has path traversal in FramenetCorpusReader.frame() that allows arbitrary XML file read,…</title>
    <updated>2026-11-12T07:24:56.777541+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: nltk</p>
<p>### Summary
`FramenetCorpusReader.frame(name)` interpolates a caller-supplied frame name into an XML file path that is read with the builtin `open()`, bypassing `CorpusReader.open()` and the `nltk.pathsec` sandbox — including strict `ENFORCE=True` mode. A `../` sequence in the name escapes the corpus root, yielding an arbitrary XML file read whose parsed content is returned to the caller.</p>
<p>### Details
`frame_by_name` builds the path by joining the corpus root, the frame directory, and the caller-supplied name with a fixed `.xml` extension, with no containment check, then constructs an `XMLCorpusView` from that **string** path. Because the view is built from a string rather than a `PathPointer`, it reads with the builtin `open()`, so `nltk.pathsec.validate_path()` is never invoked and `ENFORCE=True` does not block the access. This is the same path-traversal class previously hardened for the generic corpus readers; `frame_by_name` never goes through `CorpusReader.open()`, so that protection does not apply.</p>
<p>The same string-path-into-`XMLCorpusView` pattern exists in two sibling methods that take a name from corpus data rather than the immediate caller:
- `doc()` — uses the index entry `filename` field
- the lexical-unit file loader — uses the `lexUnit` ID attribute</p>
<p>These are reachable through a malicious or attacker-modified FrameNet corpus index.</p>
<p>### PoC
```python
"""</p>
<p>import os
import sys
import tempfile
import warnings
from pathlib import Path</p>
<p>warnings.filterwarnings("i…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-xh95-f55m-82fw"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/pysec-2026-3584</id>
    <title>PYSEC-2026-3584 — Natural Language Toolkit (NLTK) has path traversal in FramenetCorpusReader.frame() that allows arbitrary XML file read,…</title>
    <updated>2026-11-12T07:24:56.777598+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: nltk</p>
<p>### Summary
`FramenetCorpusReader.frame(name)` interpolates a caller-supplied frame name into an XML file path that is read with the builtin `open()`, bypassing `CorpusReader.open()` and the `nltk.pathsec` sandbox — including strict `ENFORCE=True` mode. A `../` sequence in the name escapes the corpus root, yielding an arbitrary XML file read whose parsed content is returned to the caller.</p>
<p>### Details
`frame_by_name` builds the path by joining the corpus root, the frame directory, and the caller-supplied name with a fixed `.xml` extension, with no containment check, then constructs an `XMLCorpusView` from that **string** path. Because the view is built from a string rather than a `PathPointer`, it reads with the builtin `open()`, so `nltk.pathsec.validate_path()` is never invoked and `ENFORCE=True` does not block the access. This is the same path-traversal class previously hardened for the generic corpus readers; `frame_by_name` never goes through `CorpusReader.open()`, so that protection does not apply.</p>
<p>The same string-path-into-`XMLCorpusView` pattern exists in two sibling methods that take a name from corpus data rather than the immediate caller:
- `doc()` — uses the index entry `filename` field
- the lexical-unit file loader — uses the `lexUnit` ID attribute</p>
<p>These are reachable through a malicious or attacker-modified FrameNet corpus index.</p>
<p>### PoC
```python
"""</p>
<p>import os
import sys
import tempfile
import warnings
from pathlib import Path</p>
<p>warnings.filterwarnings("i…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/pysec-2026-3584"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ubuntu-cve-2026-12074</id>
    <title>UBUNTU-CVE-2026-12074</title>
    <updated>2026-11-12T07:24:56.777651+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:26.10: nltk, Ubuntu:Pro:26.04:LTS: nltk</p>
<p>[Unknown description]</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ubuntu-cve-2026-12074"/>
  </entry>
</feed>
