<?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://cve.radiocsirt.org</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>Wed, 07 Oct 2026 00:49:15 +0000</lastBuildDate>
    <item>
      <title>cnvd-2026-13582</title>
      <link>https://cve.radiocsirt.org/vuln/cnvd-2026-13582</link>
      <description>cnvd-2026-13582</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cnvd-2026-13582</guid>
    </item>
    <item>
      <title>EUVD-2026-273995</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-273995</link>
      <description>EUVD-2026-273995</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-273995</guid>
    </item>
    <item>
      <title>fkie_cve-2026-27167</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-27167</link>
      <description>&lt;p&gt;Gradio is an open-source Python package designed for quick prototyping. Starting in version 4.16.0 and prior to version 6.6.0, Gradio applications running outside of Hugging Face Spaces automatically enable &amp;#34;mocked&amp;#34; OAuth routes when OAuth components (e.g. `gr.LoginButton`) are used. When a user visits `/login/huggingface`, the server retrieves its own Hugging Face access token via `huggingface_hub.get_token()` and stores it in the visitor&amp;#39;s session cookie. If the application is network-accessible, any remote attacker can trigger this flow to steal the server owner&amp;#39;s HF token. The session cookie is signed with a hardcoded secret derived from the string `&amp;#34;-v4&amp;#34;`, making the payload trivially decodable. Version 6.6.0 fixes the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Gradio is an open-source Python package designed for quick prototyping. Starting in version 4.16.0 and prior to version 6.6.0, Gradio applications running outside of Hugging Face Spaces automatically enable &amp;#34;mocked&amp;#34; OAuth routes when OAuth components (e.g. `gr.LoginButton`) are used. When a user visits `/login/huggingface`, the server retrieves its own Hugging Face access token via `huggingface_hub.get_token()` and stores it in the visitor&amp;#39;s session cookie. If the application is network-accessible, any remote attacker can trigger this flow to steal the server owner&amp;#39;s HF token. The session cookie is signed with a hardcoded secret derived from the string `&amp;#34;-v4&amp;#34;`, making the payload trivially decodable. Version 6.6.0 fixes the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-27167</guid>
    </item>
    <item>
      <title>GHSA-h3h8-3v2v-rg7m — Gradio: Mocked OAuth Login Exposes Server Credentials and Uses Hardcoded Session Secret</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-h3h8-3v2v-rg7m</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: gradio&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Gradio applications running outside of Hugging Face Spaces automatically enable &amp;#34;mocked&amp;#34; OAuth routes when OAuth components (e.g. `gr.LoginButton`) are used. When a user visits `/login/huggingface`, the server retrieves its own Hugging Face access token via `huggingface_hub.get_token()` and stores it in the visitor&amp;#39;s session cookie. If the application is network-accessible, any remote attacker can trigger this flow to steal the server owner&amp;#39;s HF token. The session cookie is signed with a hardcoded secret derived from the string `&amp;#34;-v4&amp;#34;`, making the payload trivially decodable.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;`gradio/oauth.py` — functions `attach_oauth()`, `_add_mocked_oauth_routes()`, and `_get_mocked_oauth_info()`.&lt;/p&gt;
&lt;p&gt;## Root Cause Analysis&lt;/p&gt;
&lt;p&gt;### 1. Real token injected into every visitor&amp;#39;s session&lt;/p&gt;
&lt;p&gt;When Gradio detects it is **not** running inside a Hugging Face Space (`get_space() is None`), it registers mocked OAuth routes via `_add_mocked_oauth_routes()` (line 44).&lt;/p&gt;
&lt;p&gt;The function `_get_mocked_oauth_info()` (line 307) calls `huggingface_hub.get_token()` to retrieve the **real** HF access token configured on the host machine (via `HF_TOKEN` environment variable or `huggingface-cli login`). This token is stored in a dict that is then injected into the session of **any visitor** who hits `/login/callback` (line 183):&lt;/p&gt;
&lt;p&gt;```python
request.session[&amp;#34;oauth_info&amp;#34;] = mocked_oauth_info
```&lt;/p&gt;
&lt;p&gt;The `mocked_oauth_info` dict contains the real token at key `access_token` (line 329):&lt;/p&gt;
&lt;p&gt;```pytho…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: gradio&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;Gradio applications running outside of Hugging Face Spaces automatically enable &amp;#34;mocked&amp;#34; OAuth routes when OAuth components (e.g. `gr.LoginButton`) are used. When a user visits `/login/huggingface`, the server retrieves its own Hugging Face access token via `huggingface_hub.get_token()` and stores it in the visitor&amp;#39;s session cookie. If the application is network-accessible, any remote attacker can trigger this flow to steal the server owner&amp;#39;s HF token. The session cookie is signed with a hardcoded secret derived from the string `&amp;#34;-v4&amp;#34;`, making the payload trivially decodable.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;`gradio/oauth.py` — functions `attach_oauth()`, `_add_mocked_oauth_routes()`, and `_get_mocked_oauth_info()`.&lt;/p&gt;
&lt;p&gt;## Root Cause Analysis&lt;/p&gt;
&lt;p&gt;### 1. Real token injected into every visitor&amp;#39;s session&lt;/p&gt;
&lt;p&gt;When Gradio detects it is **not** running inside a Hugging Face Space (`get_space() is None`), it registers mocked OAuth routes via `_add_mocked_oauth_routes()` (line 44).&lt;/p&gt;
&lt;p&gt;The function `_get_mocked_oauth_info()` (line 307) calls `huggingface_hub.get_token()` to retrieve the **real** HF access token configured on the host machine (via `HF_TOKEN` environment variable or `huggingface-cli login`). This token is stored in a dict that is then injected into the session of **any visitor** who hits `/login/callback` (line 183):&lt;/p&gt;
&lt;p&gt;```python
request.session[&amp;#34;oauth_info&amp;#34;] = mocked_oauth_info
```&lt;/p&gt;
&lt;p&gt;The `mocked_oauth_info` dict contains the real token at key `access_token` (line 329):&lt;/p&gt;
&lt;p&gt;```pytho…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-h3h8-3v2v-rg7m</guid>
    </item>
    <item>
      <title>PYSEC-2026-63</title>
      <link>https://cve.radiocsirt.org/vuln/pysec-2026-63</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: gradio&lt;/p&gt;
&lt;p&gt;Gradio is an open-source Python package designed for quick prototyping. Starting in version 4.16.0 and prior to version 6.6.0, Gradio applications running outside of Hugging Face Spaces automatically enable &amp;#34;mocked&amp;#34; OAuth routes when OAuth components (e.g. `gr.LoginButton`) are used. When a user visits `/login/huggingface`, the server retrieves its own Hugging Face access token via `huggingface_hub.get_token()` and stores it in the visitor&amp;#39;s session cookie. If the application is network-accessible, any remote attacker can trigger this flow to steal the server owner&amp;#39;s HF token. The session cookie is signed with a hardcoded secret derived from the string `&amp;#34;-v4&amp;#34;`, making the payload trivially decodable. Version 6.6.0 fixes the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: gradio&lt;/p&gt;
&lt;p&gt;Gradio is an open-source Python package designed for quick prototyping. Starting in version 4.16.0 and prior to version 6.6.0, Gradio applications running outside of Hugging Face Spaces automatically enable &amp;#34;mocked&amp;#34; OAuth routes when OAuth components (e.g. `gr.LoginButton`) are used. When a user visits `/login/huggingface`, the server retrieves its own Hugging Face access token via `huggingface_hub.get_token()` and stores it in the visitor&amp;#39;s session cookie. If the application is network-accessible, any remote attacker can trigger this flow to steal the server owner&amp;#39;s HF token. The session cookie is signed with a hardcoded secret derived from the string `&amp;#34;-v4&amp;#34;`, making the payload trivially decodable. Version 6.6.0 fixes the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/pysec-2026-63</guid>
    </item>
  </channel>
</rss>
