<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 21:25:42 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-33231 — NLTK has unauthenticated remote shutdown in nltk.app.wordnet_app</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-33231</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; nltk, Red Hat OpenShift AI 2.25, Red Hat OpenShift AI 3.3, Red Hat Lightspeed Core, Red Hat OpenShift Lightspeed, Red Hat Ansible Automation Platform 2, Red Hat OpenShift AI (RHOAI)&lt;/p&gt;
&lt;p&gt;NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. In versions 3.9.3 and prior, `nltk.app.wordnet_app` allows unauthenticated remote shutdown of the local WordNet Browser HTTP server when it is started in its default mode. A simple `GET /SHUTDOWN%20THE%20SERVER` request causes the process to terminate immediately via `os._exit(0)`, resulting in a denial of service. Commit bbaae83db86a0f49e00f5b0db44a7254c268de9b patches the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; nltk, Red Hat OpenShift AI 2.25, Red Hat OpenShift AI 3.3, Red Hat Lightspeed Core, Red Hat OpenShift Lightspeed, Red Hat Ansible Automation Platform 2, Red Hat OpenShift AI (RHOAI)&lt;/p&gt;
&lt;p&gt;NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. In versions 3.9.3 and prior, `nltk.app.wordnet_app` allows unauthenticated remote shutdown of the local WordNet Browser HTTP server when it is started in its default mode. A simple `GET /SHUTDOWN%20THE%20SERVER` request causes the process to terminate immediately via `os._exit(0)`, resulting in a denial of service. Commit bbaae83db86a0f49e00f5b0db44a7254c268de9b patches the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-33231</guid>
    </item>
    <item>
      <title>GHSA-jm6w-m3j8-898g — Unauthenticated remote shutdown in nltk.app.wordnet_app</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-jm6w-m3j8-898g</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: nltk&lt;/p&gt;
&lt;p&gt;### Summary
`nltk.app.wordnet_app` allows unauthenticated remote shutdown of the local WordNet Browser HTTP server when it is started in its default mode. A simple `GET /SHUTDOWN%20THE%20SERVER` request causes the process to terminate immediately via `os._exit(0)`, resulting in a denial of service.&lt;/p&gt;
&lt;p&gt;### Details
The vulnerable logic is in `nltk/app/wordnet_app.py`:&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:242`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L242)
  - The server listens on all interfaces:
  - `server = HTTPServer((&amp;#34;&amp;#34;, port), MyServerHandler)`&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:87`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L87)
  - Incoming requests are checked for the exact path:
  - `if unquote_plus(sp) == &amp;#34;SHUTDOWN THE SERVER&amp;#34;:`&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:88`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L88)
  - The shutdown protection only depends on `server_mode`&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:93`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L93)
  - In the default mode (`runBrowser=True`, therefore `server_mode=False`), the handler terminates the process directly:
  - `os._exit(0)`&lt;/p&gt;
&lt;p&gt;This means any party that can reach the listening port can stop the service with a single unauthenticated GET request when the browser is started in its normal mode.&lt;/p&gt;
&lt;p&gt;### PoC
1. Start the WordNet Browser in Docker in its default mode:&lt;/p&gt;
&lt;p&gt;```bash
docker run -d --name nltk-wordnet-web-default-retest -p 8004:8004 \
  nltk-sandbox \
  python -c &amp;#34;import nltk; nl…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: nltk&lt;/p&gt;
&lt;p&gt;### Summary
`nltk.app.wordnet_app` allows unauthenticated remote shutdown of the local WordNet Browser HTTP server when it is started in its default mode. A simple `GET /SHUTDOWN%20THE%20SERVER` request causes the process to terminate immediately via `os._exit(0)`, resulting in a denial of service.&lt;/p&gt;
&lt;p&gt;### Details
The vulnerable logic is in `nltk/app/wordnet_app.py`:&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:242`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L242)
  - The server listens on all interfaces:
  - `server = HTTPServer((&amp;#34;&amp;#34;, port), MyServerHandler)`&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:87`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L87)
  - Incoming requests are checked for the exact path:
  - `if unquote_plus(sp) == &amp;#34;SHUTDOWN THE SERVER&amp;#34;:`&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:88`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L88)
  - The shutdown protection only depends on `server_mode`&lt;/p&gt;
&lt;p&gt;- [`nltk/app/wordnet_app.py:93`](/mnt/Data/my_brains/test/nltk/nltk/app/wordnet_app.py#L93)
  - In the default mode (`runBrowser=True`, therefore `server_mode=False`), the handler terminates the process directly:
  - `os._exit(0)`&lt;/p&gt;
&lt;p&gt;This means any party that can reach the listening port can stop the service with a single unauthenticated GET request when the browser is started in its normal mode.&lt;/p&gt;
&lt;p&gt;### PoC
1. Start the WordNet Browser in Docker in its default mode:&lt;/p&gt;
&lt;p&gt;```bash
docker run -d --name nltk-wordnet-web-default-retest -p 8004:8004 \
  nltk-sandbox \
  python -c &amp;#34;import nltk; nl…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-jm6w-m3j8-898g</guid>
    </item>
    <item>
      <title>PYSEC-2026-2236</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-2236</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: nltk&lt;/p&gt;
&lt;p&gt;NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. In versions 3.9.3 and prior, `nltk.app.wordnet_app` allows unauthenticated remote shutdown of the local WordNet Browser HTTP server when it is started in its default mode. A simple `GET /SHUTDOWN%20THE%20SERVER` request causes the process to terminate immediately via `os._exit(0)`, resulting in a denial of service. Commit bbaae83db86a0f49e00f5b0db44a7254c268de9b patches the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: nltk&lt;/p&gt;
&lt;p&gt;NLTK (Natural Language Toolkit) is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. In versions 3.9.3 and prior, `nltk.app.wordnet_app` allows unauthenticated remote shutdown of the local WordNet Browser HTTP server when it is started in its default mode. A simple `GET /SHUTDOWN%20THE%20SERVER` request causes the process to terminate immediately via `os._exit(0)`, resulting in a denial of service. Commit bbaae83db86a0f49e00f5b0db44a7254c268de9b patches the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-2236</guid>
    </item>
  </channel>
</rss>
