<?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>Fri, 02 Oct 2026 17:11:02 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-48746 — vLLM: OpenAI auth bypass</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-48746</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; vllm-project vllm, Red Hat AI Inference Server 3.2, Red Hat AI Inference Server 3.3, Red Hat Ansible Automation Platform 2.6, Red Hat Ansible Automation Platform 2.7, Red Hat Migration Toolkit for Applications 8.2, Red Hat OpenShift AI 2.25, Red Hat Exploit Intelligence, Red Hat OpenShift Lightspeed, Red Hat AI Inference Server and 5 more&lt;/p&gt;
&lt;p&gt;vLLM is an inference and serving engine for large language models (LLMs). From 0.3.0 until 0.22.0, a vulnerability in ASGI web servers and starlette&amp;#39;s trust on those web servers enables an authentication bypass of the OpenAI API AuthenticationMiddleware. It allows to use the API without providing the configured VLLM_API_KEY or --api-key. This vulnerability is fixed in 0.22.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; vllm-project vllm, Red Hat AI Inference Server 3.2, Red Hat AI Inference Server 3.3, Red Hat Ansible Automation Platform 2.6, Red Hat Ansible Automation Platform 2.7, Red Hat Migration Toolkit for Applications 8.2, Red Hat OpenShift AI 2.25, Red Hat Exploit Intelligence, Red Hat OpenShift Lightspeed, Red Hat AI Inference Server and 5 more&lt;/p&gt;
&lt;p&gt;vLLM is an inference and serving engine for large language models (LLMs). From 0.3.0 until 0.22.0, a vulnerability in ASGI web servers and starlette&amp;#39;s trust on those web servers enables an authentication bypass of the OpenAI API AuthenticationMiddleware. It allows to use the API without providing the configured VLLM_API_KEY or --api-key. This vulnerability is fixed in 0.22.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-48746</guid>
    </item>
    <item>
      <title>GHSA-94f4-hr76-p5j6 — vLLM: OpenAI auth bypass</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-94f4-hr76-p5j6</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: vllm&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;A vulnerability in ASGI web servers and starlette&amp;#39;s trust on those web servers enables an authentication bypass of the OpenAI API `AuthenticationMiddleware`, which was discovered during @x41sec&amp;#39;s source code audit.
It allows to use the API without providing the configured `VLLM_API_KEY` or `--api-key`.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;In https://github.com/vllm-project/vllm/blob/v0.14.0/vllm/entrypoints/openai/api_server.py#L689-L692 the `url_path` is taken from the `URL`, which is reconstructed by _starlette_ based on the request `scope`.&lt;/p&gt;
&lt;p&gt;```py
from starlette.datastructures import URL, Headers, MutableHeaders, State&lt;/p&gt;
&lt;p&gt;# ...&lt;/p&gt;
&lt;p&gt;url_path = URL(scope=scope).path.removeprefix(root_path)
headers = Headers(scope=scope)
if url_path.startswith(&amp;#34;/v1&amp;#34;) and not self.verify_token(headers):
    response = JSONResponse(content={&amp;#34;error&amp;#34;: &amp;#34;Unauthorized&amp;#34;}, status_code=401)
    return response(scope, receive, send)
return self.app(scope, receive, send)
```&lt;/p&gt;
&lt;p&gt;The request `scope` includes the request&amp;#39;s `Host:` header and reconstructs the URL as shown below:&lt;/p&gt;
&lt;p&gt;```py
f&amp;#34;{scheme}://{host_header}{path}&amp;#34;
```&lt;/p&gt;
&lt;p&gt;Neither starlette nor [any of the ASGI servers](https://asgi.readthedocs.io/en/latest/implementations.html#servers) (including uvicorn, which vllm uses) properly filter the `Host:` header for invalid characters. This allows an attacker to include special URL characters such as `/` or `?` in the `Host:` header and thereby control the reconstructed URL and it&amp;#39;s `.path` attribute.&lt;/p&gt;
&lt;p&gt;FastAPI/starlette&amp;#39;s routi…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: vllm&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;A vulnerability in ASGI web servers and starlette&amp;#39;s trust on those web servers enables an authentication bypass of the OpenAI API `AuthenticationMiddleware`, which was discovered during @x41sec&amp;#39;s source code audit.
It allows to use the API without providing the configured `VLLM_API_KEY` or `--api-key`.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;In https://github.com/vllm-project/vllm/blob/v0.14.0/vllm/entrypoints/openai/api_server.py#L689-L692 the `url_path` is taken from the `URL`, which is reconstructed by _starlette_ based on the request `scope`.&lt;/p&gt;
&lt;p&gt;```py
from starlette.datastructures import URL, Headers, MutableHeaders, State&lt;/p&gt;
&lt;p&gt;# ...&lt;/p&gt;
&lt;p&gt;url_path = URL(scope=scope).path.removeprefix(root_path)
headers = Headers(scope=scope)
if url_path.startswith(&amp;#34;/v1&amp;#34;) and not self.verify_token(headers):
    response = JSONResponse(content={&amp;#34;error&amp;#34;: &amp;#34;Unauthorized&amp;#34;}, status_code=401)
    return response(scope, receive, send)
return self.app(scope, receive, send)
```&lt;/p&gt;
&lt;p&gt;The request `scope` includes the request&amp;#39;s `Host:` header and reconstructs the URL as shown below:&lt;/p&gt;
&lt;p&gt;```py
f&amp;#34;{scheme}://{host_header}{path}&amp;#34;
```&lt;/p&gt;
&lt;p&gt;Neither starlette nor [any of the ASGI servers](https://asgi.readthedocs.io/en/latest/implementations.html#servers) (including uvicorn, which vllm uses) properly filter the `Host:` header for invalid characters. This allows an attacker to include special URL characters such as `/` or `?` in the `Host:` header and thereby control the reconstructed URL and it&amp;#39;s `.path` attribute.&lt;/p&gt;
&lt;p&gt;FastAPI/starlette&amp;#39;s routi…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-94f4-hr76-p5j6</guid>
    </item>
  </channel>
</rss>
