<?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>Thu, 15 Oct 2026 12:44:33 +0000</lastBuildDate>
    <item>
      <title>BREW-ansible-CVE-2026-49265 — Oauthlib: Timing Attack Vulnerability in PKCE code_verifier Comparison (CWE-208)</title>
      <link>https://db.gcve.eu/vuln/brew-ansible-cve-2026-49265</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Homebrew: ansible&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation 
of the Authorization Code Grant flow. The `code_challenge_method_plain` function 
uses Python&amp;#39;s standard `==` operator for string comparison instead of a 
constant-time comparison function, potentially allowing timing-based attacks.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- File: `oauthlib/oauth2/rfc6749/grant_types/authorization_code.py`
- Functions: `code_challenge_method_plain`, `code_challenge_method_s256`
- Vulnerability Type: CWE-208 (Observable Timing Discrepancy)&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;Python&amp;#39;s `==` operator uses short-circuit evaluation when comparing strings:
1. Returns `False` immediately if lengths differ
2. Compares characters left-to-right, stopping at first mismatch&lt;/p&gt;
&lt;p&gt;This means comparison time varies linearly with the length of the common prefix 
between the attacker-supplied verifier and the stored challenge, creating a 
measurable timing oracle.&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;Tested locally against oauthlib source (network jitter eliminated to isolate 
pure Python execution time):&lt;/p&gt;
&lt;p&gt;| Input | Result | Time (10M iterations) |
|---|---|---|
| Wrong first char (`B` + `A`*49) | Fast reject | 0.34106s |
| 49 chars correct (`A`*49 + `B`) | Deep compare | 0.37847s |
| **Difference** | | **0.03741s** |&lt;/p&gt;
&lt;p&gt;The ~37ms delta over 10M iterations corresponds to nanosecond-level differences 
per call, which are statistically exploitable under controlled conditions.&lt;/p&gt;
&lt;p&gt;## Attack Scenario&lt;/p&gt;
&lt;p&gt;1. Attacker intercepts…&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&lt;/p&gt;
&lt;p&gt;A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation 
of the Authorization Code Grant flow. The `code_challenge_method_plain` function 
uses Python&amp;#39;s standard `==` operator for string comparison instead of a 
constant-time comparison function, potentially allowing timing-based attacks.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- File: `oauthlib/oauth2/rfc6749/grant_types/authorization_code.py`
- Functions: `code_challenge_method_plain`, `code_challenge_method_s256`
- Vulnerability Type: CWE-208 (Observable Timing Discrepancy)&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;Python&amp;#39;s `==` operator uses short-circuit evaluation when comparing strings:
1. Returns `False` immediately if lengths differ
2. Compares characters left-to-right, stopping at first mismatch&lt;/p&gt;
&lt;p&gt;This means comparison time varies linearly with the length of the common prefix 
between the attacker-supplied verifier and the stored challenge, creating a 
measurable timing oracle.&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;Tested locally against oauthlib source (network jitter eliminated to isolate 
pure Python execution time):&lt;/p&gt;
&lt;p&gt;| Input | Result | Time (10M iterations) |
|---|---|---|
| Wrong first char (`B` + `A`*49) | Fast reject | 0.34106s |
| 49 chars correct (`A`*49 + `B`) | Deep compare | 0.37847s |
| **Difference** | | **0.03741s** |&lt;/p&gt;
&lt;p&gt;The ~37ms delta over 10M iterations corresponds to nanosecond-level differences 
per call, which are statistically exploitable under controlled conditions.&lt;/p&gt;
&lt;p&gt;## Attack Scenario&lt;/p&gt;
&lt;p&gt;1. Attacker intercepts…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/brew-ansible-cve-2026-49265</guid>
    </item>
    <item>
      <title>CLEANSTART-2026-NO84858 — Security fix for CVE-2026-49265 applied in: airflow-3 3.1.8-r13, airflow-3 3.2.1-r11, airflow-3 3.0.6-r9, airflow-3 3.2…</title>
      <link>https://db.gcve.eu/vuln/cleanstart-2026-no84858</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; CleanStart: airflow-3&lt;/p&gt;
&lt;p&gt;CVE-2026-49265 affects multiple packages. This issue is resolved in later releases. See references for individual 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;CVE-2026-49265 affects multiple packages. This issue is resolved in later releases. See references for individual vulnerability details.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cleanstart-2026-no84858</guid>
    </item>
    <item>
      <title>fkie_cve-2026-49265</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-49265</link>
      <description>&lt;p&gt;OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.0.0 until 4.0.0, OAuthLib&amp;#39;s PKCE checks in oauthlib/oauth2/rfc6749/grant_types/authorization_code.py compare attacker-supplied code_verifier values with stored challenges using ordinary string equality in code_challenge_method_plain and code_challenge_method_s256. Because the comparison can return after a length difference or the first mismatching character, repeated token endpoint measurements can reveal common-prefix timing information that could potentially allow recovery of the code_verifier, unauthorized access-token acquisition, and account takeover. Practical exploitation requires an intercepted, single-use authorization code and enough measurements to overcome real-world network noise; the local timing benchmark does not establish practical remote account takeover, so the weakness remains a defense-in-depth concern. This issue is fixed in version 4.0.0.&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.0.0 until 4.0.0, OAuthLib&amp;#39;s PKCE checks in oauthlib/oauth2/rfc6749/grant_types/authorization_code.py compare attacker-supplied code_verifier values with stored challenges using ordinary string equality in code_challenge_method_plain and code_challenge_method_s256. Because the comparison can return after a length difference or the first mismatching character, repeated token endpoint measurements can reveal common-prefix timing information that could potentially allow recovery of the code_verifier, unauthorized access-token acquisition, and account takeover. Practical exploitation requires an intercepted, single-use authorization code and enough measurements to overcome real-world network noise; the local timing benchmark does not establish practical remote account takeover, so the weakness remains a defense-in-depth concern. This issue is fixed in version 4.0.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-49265</guid>
    </item>
    <item>
      <title>GHSA-xpv3-w29h-x7cv — Oauthlib: Timing Attack Vulnerability in PKCE code_verifier Comparison (CWE-208)</title>
      <link>https://db.gcve.eu/vuln/ghsa-xpv3-w29h-x7cv</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: oauthlib&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation 
of the Authorization Code Grant flow. The `code_challenge_method_plain` function 
uses Python&amp;#39;s standard `==` operator for string comparison instead of a 
constant-time comparison function, potentially allowing timing-based attacks.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- File: `oauthlib/oauth2/rfc6749/grant_types/authorization_code.py`
- Functions: `code_challenge_method_plain`, `code_challenge_method_s256`
- Vulnerability Type: CWE-208 (Observable Timing Discrepancy)&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;Python&amp;#39;s `==` operator uses short-circuit evaluation when comparing strings:
1. Returns `False` immediately if lengths differ
2. Compares characters left-to-right, stopping at first mismatch&lt;/p&gt;
&lt;p&gt;This means comparison time varies linearly with the length of the common prefix 
between the attacker-supplied verifier and the stored challenge, creating a 
measurable timing oracle.&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;Tested locally against oauthlib source (network jitter eliminated to isolate 
pure Python execution time):&lt;/p&gt;
&lt;p&gt;| Input | Result | Time (10M iterations) |
|---|---|---|
| Wrong first char (`B` + `A`*49) | Fast reject | 0.34106s |
| 49 chars correct (`A`*49 + `B`) | Deep compare | 0.37847s |
| **Difference** | | **0.03741s** |&lt;/p&gt;
&lt;p&gt;The ~37ms delta over 10M iterations corresponds to nanosecond-level differences 
per call, which are statistically exploitable under controlled conditions.&lt;/p&gt;
&lt;p&gt;## Attack Scenario&lt;/p&gt;
&lt;p&gt;1. Attacker intercepts…&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&lt;/p&gt;
&lt;p&gt;A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation 
of the Authorization Code Grant flow. The `code_challenge_method_plain` function 
uses Python&amp;#39;s standard `==` operator for string comparison instead of a 
constant-time comparison function, potentially allowing timing-based attacks.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- File: `oauthlib/oauth2/rfc6749/grant_types/authorization_code.py`
- Functions: `code_challenge_method_plain`, `code_challenge_method_s256`
- Vulnerability Type: CWE-208 (Observable Timing Discrepancy)&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;Python&amp;#39;s `==` operator uses short-circuit evaluation when comparing strings:
1. Returns `False` immediately if lengths differ
2. Compares characters left-to-right, stopping at first mismatch&lt;/p&gt;
&lt;p&gt;This means comparison time varies linearly with the length of the common prefix 
between the attacker-supplied verifier and the stored challenge, creating a 
measurable timing oracle.&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;Tested locally against oauthlib source (network jitter eliminated to isolate 
pure Python execution time):&lt;/p&gt;
&lt;p&gt;| Input | Result | Time (10M iterations) |
|---|---|---|
| Wrong first char (`B` + `A`*49) | Fast reject | 0.34106s |
| 49 chars correct (`A`*49 + `B`) | Deep compare | 0.37847s |
| **Difference** | | **0.03741s** |&lt;/p&gt;
&lt;p&gt;The ~37ms delta over 10M iterations corresponds to nanosecond-level differences 
per call, which are statistically exploitable under controlled conditions.&lt;/p&gt;
&lt;p&gt;## Attack Scenario&lt;/p&gt;
&lt;p&gt;1. Attacker intercepts…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-xpv3-w29h-x7cv</guid>
    </item>
    <item>
      <title>msrc_CVE-2026-49265 — OAuthLib: Timing Attack Vulnerability in PKCE code_verifier Comparison</title>
      <link>https://db.gcve.eu/vuln/msrc_cve-2026-49265</link>
      <description>msrc_CVE-2026-49265</description>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/msrc_cve-2026-49265</guid>
    </item>
    <item>
      <title>PYSEC-2026-4114 — Oauthlib: Timing Attack Vulnerability in PKCE code_verifier Comparison (CWE-208)</title>
      <link>https://db.gcve.eu/vuln/pysec-2026-4114</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: oauthlib&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation 
of the Authorization Code Grant flow. The `code_challenge_method_plain` function 
uses Python&amp;#39;s standard `==` operator for string comparison instead of a 
constant-time comparison function, potentially allowing timing-based attacks.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- File: `oauthlib/oauth2/rfc6749/grant_types/authorization_code.py`
- Functions: `code_challenge_method_plain`, `code_challenge_method_s256`
- Vulnerability Type: CWE-208 (Observable Timing Discrepancy)&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;Python&amp;#39;s `==` operator uses short-circuit evaluation when comparing strings:
1. Returns `False` immediately if lengths differ
2. Compares characters left-to-right, stopping at first mismatch&lt;/p&gt;
&lt;p&gt;This means comparison time varies linearly with the length of the common prefix 
between the attacker-supplied verifier and the stored challenge, creating a 
measurable timing oracle.&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;Tested locally against oauthlib source (network jitter eliminated to isolate 
pure Python execution time):&lt;/p&gt;
&lt;p&gt;| Input | Result | Time (10M iterations) |
|---|---|---|
| Wrong first char (`B` + `A`*49) | Fast reject | 0.34106s |
| 49 chars correct (`A`*49 + `B`) | Deep compare | 0.37847s |
| **Difference** | | **0.03741s** |&lt;/p&gt;
&lt;p&gt;The ~37ms delta over 10M iterations corresponds to nanosecond-level differences 
per call, which are statistically exploitable under controlled conditions.&lt;/p&gt;
&lt;p&gt;## Attack Scenario&lt;/p&gt;
&lt;p&gt;1. Attacker intercepts…&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&lt;/p&gt;
&lt;p&gt;A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation 
of the Authorization Code Grant flow. The `code_challenge_method_plain` function 
uses Python&amp;#39;s standard `==` operator for string comparison instead of a 
constant-time comparison function, potentially allowing timing-based attacks.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- File: `oauthlib/oauth2/rfc6749/grant_types/authorization_code.py`
- Functions: `code_challenge_method_plain`, `code_challenge_method_s256`
- Vulnerability Type: CWE-208 (Observable Timing Discrepancy)&lt;/p&gt;
&lt;p&gt;## Technical Details&lt;/p&gt;
&lt;p&gt;Python&amp;#39;s `==` operator uses short-circuit evaluation when comparing strings:
1. Returns `False` immediately if lengths differ
2. Compares characters left-to-right, stopping at first mismatch&lt;/p&gt;
&lt;p&gt;This means comparison time varies linearly with the length of the common prefix 
between the attacker-supplied verifier and the stored challenge, creating a 
measurable timing oracle.&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;Tested locally against oauthlib source (network jitter eliminated to isolate 
pure Python execution time):&lt;/p&gt;
&lt;p&gt;| Input | Result | Time (10M iterations) |
|---|---|---|
| Wrong first char (`B` + `A`*49) | Fast reject | 0.34106s |
| 49 chars correct (`A`*49 + `B`) | Deep compare | 0.37847s |
| **Difference** | | **0.03741s** |&lt;/p&gt;
&lt;p&gt;The ~37ms delta over 10M iterations corresponds to nanosecond-level differences 
per call, which are statistically exploitable under controlled conditions.&lt;/p&gt;
&lt;p&gt;## Attack Scenario&lt;/p&gt;
&lt;p&gt;1. Attacker intercepts…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/pysec-2026-4114</guid>
    </item>
    <item>
      <title>RHSA-2026:82368 — Red Hat Security Advisory: Red Hat AI Inference 3.5.2 (cuda)</title>
      <link>https://db.gcve.eu/vuln/rhsa-2026:82368</link>
      <description>&lt;p&gt;libxml2: Stack Buffer Overflow in xmllint Interactive Shell Command Handling sqlite: SQLite: Arbitrary code execution via crafted FTS5 full-text search data sqlite: SQLite: Arbitrary code execution and crash via heap-based buffer overflow in FTS5 python: cpython: CPython: tarfile extraction filter bypass allows escaping the destination directory pip: pip: Arbitrary file installation via malicious package indexes GDBusServer: glib2: GDBusServer pre-authentication DoS via unbounded SASL line buffering xdgmime: heap-based buffer overflow in _xdg_mime_magic_parse_magic_line() in xdgmimemagic.c urllib3: urllib3: Information disclosure via cross-origin redirects forwarding sensitive headers urllib3: urllib3: Denial of Service due to excessive HTTP response decompression vim: Vim: Arbitrary Code Execution via crafted directory names vim: Vim: Arbitrary code execution via crafted step-definition patterns oauthlib: oauthlib: Unsafe JSONP callback injection in RevocationEndpoint allows arbitrary JavaScript response generation oauthlib: oauthlib: Timing attack vulnerability in PKCE code_verifier/code_challenge comparison allows authorization code recovery vim: Vim: Arbitrary code execution via Python omni-completion acl: Symlink traversal privilege escalation via libacl functions linux-pam: Plaintext password recovery via timing discrepancy in pam_userdb module vim: Vim: Out-of-bounds Write in Spell File Word Count vim: Vim: Denial of Service via stack out-of-bounds write in spell_soun…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;libxml2: Stack Buffer Overflow in xmllint Interactive Shell Command Handling sqlite: SQLite: Arbitrary code execution via crafted FTS5 full-text search data sqlite: SQLite: Arbitrary code execution and crash via heap-based buffer overflow in FTS5 python: cpython: CPython: tarfile extraction filter bypass allows escaping the destination directory pip: pip: Arbitrary file installation via malicious package indexes GDBusServer: glib2: GDBusServer pre-authentication DoS via unbounded SASL line buffering xdgmime: heap-based buffer overflow in _xdg_mime_magic_parse_magic_line() in xdgmimemagic.c urllib3: urllib3: Information disclosure via cross-origin redirects forwarding sensitive headers urllib3: urllib3: Denial of Service due to excessive HTTP response decompression vim: Vim: Arbitrary Code Execution via crafted directory names vim: Vim: Arbitrary code execution via crafted step-definition patterns oauthlib: oauthlib: Unsafe JSONP callback injection in RevocationEndpoint allows arbitrary JavaScript response generation oauthlib: oauthlib: Timing attack vulnerability in PKCE code_verifier/code_challenge comparison allows authorization code recovery vim: Vim: Arbitrary code execution via Python omni-completion acl: Symlink traversal privilege escalation via libacl functions linux-pam: Plaintext password recovery via timing discrepancy in pam_userdb module vim: Vim: Out-of-bounds Write in Spell File Word Count vim: Vim: Denial of Service via stack out-of-bounds write in spell_soun…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/rhsa-2026:82368</guid>
    </item>
    <item>
      <title>SUSE-SU-2026:24139-1 — Security update for python-oauthlib</title>
      <link>https://db.gcve.eu/vuln/suse-su-2026:24139-1</link>
      <description>&lt;p&gt;Security update for python-oauthlib&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Security update for python-oauthlib&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/suse-su-2026:24139-1</guid>
    </item>
  </channel>
</rss>
