<?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://db.gcve.eu</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, 11 Nov 2026 22:38:48 +0000</lastBuildDate>
    <item>
      <title>BREW-ansible-CVE-2026-49272 — OAuthLib: Bearer token can be retrieved as long as client knows a valid client ID for device workflow</title>
      <link>https://db.gcve.eu/vuln/brew-ansible-cve-2026-49272</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: ansible&lt;/p&gt;
&lt;p&gt;### Summary
A call to the token endpoint with a grant type of `&amp;#34;urn:ietf:params:oauth:grant-type:device_code&amp;#34;` and a bogus `device_code` is able to get a bearer token as long as they know a valid client ID enabled for the device workflow.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;[Section 3.4 of the RFC 8628 spec](https://datatracker.ietf.org/doc/html/rfc8628#section-3.4) says that the token endpoint should take in `device_code` as a required parameter.`DeviceCodeGrant.validate_token_request` does not perform any validation of `device_code`. `DeviceCodeGrant.validate_token_request` should be validating that `device_code` was passed in as a parameter and that it is valid, similar to how `AuthorizationCodeGrant.validate_token_request` does the checks [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L446) and [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L483).&lt;/p&gt;
&lt;p&gt;I would like to propose a new method be added to `RequestValidator` called `validate_device_code` that is similar to the `validate_code` method and is called inside of `DeviceCodeGrant.validate_token_request`.&lt;/p&gt;
&lt;p&gt;### PoC
Create an implementation of `RequestValidation.authenticate_client` that returns `True` if the client&amp;#39;s `client_type` is `&amp;#34;public&amp;#34;`. You would find yourself in this scenario because there&amp;#39;s another issue with `DeviceCodeGrant.validate_…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: ansible&lt;/p&gt;
&lt;p&gt;### Summary
A call to the token endpoint with a grant type of `&amp;#34;urn:ietf:params:oauth:grant-type:device_code&amp;#34;` and a bogus `device_code` is able to get a bearer token as long as they know a valid client ID enabled for the device workflow.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;[Section 3.4 of the RFC 8628 spec](https://datatracker.ietf.org/doc/html/rfc8628#section-3.4) says that the token endpoint should take in `device_code` as a required parameter.`DeviceCodeGrant.validate_token_request` does not perform any validation of `device_code`. `DeviceCodeGrant.validate_token_request` should be validating that `device_code` was passed in as a parameter and that it is valid, similar to how `AuthorizationCodeGrant.validate_token_request` does the checks [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L446) and [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L483).&lt;/p&gt;
&lt;p&gt;I would like to propose a new method be added to `RequestValidator` called `validate_device_code` that is similar to the `validate_code` method and is called inside of `DeviceCodeGrant.validate_token_request`.&lt;/p&gt;
&lt;p&gt;### PoC
Create an implementation of `RequestValidation.authenticate_client` that returns `True` if the client&amp;#39;s `client_type` is `&amp;#34;public&amp;#34;`. You would find yourself in this scenario because there&amp;#39;s another issue with `DeviceCodeGrant.validate_…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/brew-ansible-cve-2026-49272</guid>
    </item>
    <item>
      <title>CLEANSTART-2026-TP84091 — Security fix for CVE-2026-49272 applied in: airflow-3 3.3.2-r1</title>
      <link>https://db.gcve.eu/vuln/cleanstart-2026-tp84091</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; CleanStart: airflow-3&lt;/p&gt;
&lt;p&gt;Security vulnerability affects the airflow-3 package. This issue is resolved in later releases. See references for vulnerability details.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; CleanStart: airflow-3&lt;/p&gt;
&lt;p&gt;Security vulnerability affects the airflow-3 package. This issue is resolved in later releases. See references for vulnerability details.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cleanstart-2026-tp84091</guid>
    </item>
    <item>
      <title>fkie_cve-2026-49272</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-49272</link>
      <description>&lt;p&gt;OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.3.0 until 4.0.1, OAuthLib&amp;#39;s RFC 8628 device workflow does not require DeviceCodeGrant.validate_token_request to check that the device_code parameter is present and valid. A caller whose client request is accepted by the configured validator and who knows a valid client ID enabled for the device workflow can submit a missing or bogus device code to the token endpoint and obtain a bearer token without completing device authorization. This issue is fixed in version 4.0.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.3.0 until 4.0.1, OAuthLib&amp;#39;s RFC 8628 device workflow does not require DeviceCodeGrant.validate_token_request to check that the device_code parameter is present and valid. A caller whose client request is accepted by the configured validator and who knows a valid client ID enabled for the device workflow can submit a missing or bogus device code to the token endpoint and obtain a bearer token without completing device authorization. This issue is fixed in version 4.0.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-49272</guid>
    </item>
    <item>
      <title>GHSA-3jp2-3mrg-2vxc — OAuthLib: Bearer token can be retrieved as long as client knows a valid client ID for device workflow</title>
      <link>https://db.gcve.eu/vuln/ghsa-3jp2-3mrg-2vxc</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: oauthlib&lt;/p&gt;
&lt;p&gt;### Summary
A call to the token endpoint with a grant type of `&amp;#34;urn:ietf:params:oauth:grant-type:device_code&amp;#34;` and a bogus `device_code` is able to get a bearer token as long as they know a valid client ID enabled for the device workflow.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;[Section 3.4 of the RFC 8628 spec](https://datatracker.ietf.org/doc/html/rfc8628#section-3.4) says that the token endpoint should take in `device_code` as a required parameter.`DeviceCodeGrant.validate_token_request` does not perform any validation of `device_code`. `DeviceCodeGrant.validate_token_request` should be validating that `device_code` was passed in as a parameter and that it is valid, similar to how `AuthorizationCodeGrant.validate_token_request` does the checks [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L446) and [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L483).&lt;/p&gt;
&lt;p&gt;I would like to propose a new method be added to `RequestValidator` called `validate_device_code` that is similar to the `validate_code` method and is called inside of `DeviceCodeGrant.validate_token_request`.&lt;/p&gt;
&lt;p&gt;### PoC
Create an implementation of `RequestValidation.authenticate_client` that returns `True` if the client&amp;#39;s `client_type` is `&amp;#34;public&amp;#34;`. You would find yourself in this scenario because there&amp;#39;s another issue with `DeviceCodeGrant.validate_…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: oauthlib&lt;/p&gt;
&lt;p&gt;### Summary
A call to the token endpoint with a grant type of `&amp;#34;urn:ietf:params:oauth:grant-type:device_code&amp;#34;` and a bogus `device_code` is able to get a bearer token as long as they know a valid client ID enabled for the device workflow.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;[Section 3.4 of the RFC 8628 spec](https://datatracker.ietf.org/doc/html/rfc8628#section-3.4) says that the token endpoint should take in `device_code` as a required parameter.`DeviceCodeGrant.validate_token_request` does not perform any validation of `device_code`. `DeviceCodeGrant.validate_token_request` should be validating that `device_code` was passed in as a parameter and that it is valid, similar to how `AuthorizationCodeGrant.validate_token_request` does the checks [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L446) and [here](https://github.com/oauthlib/oauthlib/blob/a015b446622f2b925517501fe484c10eff7a83c0/oauthlib/oauth2/rfc6749/grant_types/authorization_code.py#L483).&lt;/p&gt;
&lt;p&gt;I would like to propose a new method be added to `RequestValidator` called `validate_device_code` that is similar to the `validate_code` method and is called inside of `DeviceCodeGrant.validate_token_request`.&lt;/p&gt;
&lt;p&gt;### PoC
Create an implementation of `RequestValidation.authenticate_client` that returns `True` if the client&amp;#39;s `client_type` is `&amp;#34;public&amp;#34;`. You would find yourself in this scenario because there&amp;#39;s another issue with `DeviceCodeGrant.validate_…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-3jp2-3mrg-2vxc</guid>
    </item>
    <item>
      <title>openSUSE-SU-2026:12520-1 — python313-oauthlib-4.0.1-1.1 on GA media</title>
      <link>https://db.gcve.eu/vuln/opensuse-su-2026:12520-1</link>
      <description>&lt;p&gt;python313-oauthlib-4.0.1-1.1 on GA media&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;python313-oauthlib-4.0.1-1.1 on GA media&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/opensuse-su-2026:12520-1</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-49272</title>
      <link>https://db.gcve.eu/vuln/ubuntu-cve-2026-49272</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:16.04:LTS: python-oauthlib, Ubuntu:18.04:LTS: python-oauthlib, Ubuntu:20.04:LTS: python-oauthlib, Ubuntu:22.04:LTS: python-oauthlib, Ubuntu:24.04:LTS: python-oauthlib, Ubuntu:26.10: python-oauthlib, Ubuntu:26.04:LTS: python-oauthlib&lt;/p&gt;
&lt;p&gt;OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.3.0 until 4.0.1, OAuthLib&amp;#39;s RFC 8628 device workflow does not require DeviceCodeGrant.validate_token_request to check that the device_code parameter is present and valid. A caller whose client request is accepted by the configured validator and who knows a valid client ID enabled for the device workflow can submit a missing or bogus device code to the token endpoint and obtain a bearer token without completing device authorization. This issue is fixed in version 4.0.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:16.04:LTS: python-oauthlib, Ubuntu:18.04:LTS: python-oauthlib, Ubuntu:20.04:LTS: python-oauthlib, Ubuntu:22.04:LTS: python-oauthlib, Ubuntu:24.04:LTS: python-oauthlib, Ubuntu:26.10: python-oauthlib, Ubuntu:26.04:LTS: python-oauthlib&lt;/p&gt;
&lt;p&gt;OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.3.0 until 4.0.1, OAuthLib&amp;#39;s RFC 8628 device workflow does not require DeviceCodeGrant.validate_token_request to check that the device_code parameter is present and valid. A caller whose client request is accepted by the configured validator and who knows a valid client ID enabled for the device workflow can submit a missing or bogus device code to the token endpoint and obtain a bearer token without completing device authorization. This issue is fixed in version 4.0.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ubuntu-cve-2026-49272</guid>
    </item>
  </channel>
</rss>
