{"answers":{"affected":"5 open source packages ship an affected version, including authlib. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-41479 in the wild and no public exploit code.","fix":"Upgrade authlib to a fixed version for your release line: 1.6.10 or 1.7.1.","what":"CVE-2026-41479 is a medium-severity vulnerability in authlib, published on 22 Jun 2026."},"fix_prompt":"Check this codebase for CVE-2026-41479 and fix it if it is affected.\n\nWhat it is: CVE-2026-41479 is a medium-severity vulnerability in authlib, published on 22 Jun 2026. \nExploitation: There is no known exploitation of CVE-2026-41479 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- authlib (PyPI): affected all versions; fixed in 1.6.10\n- authlib (PyPI): affected all versions; fixed in 1.6.10\n- authlib (PyPI): affected all versions; fixed in 1.6.10\n- authlib (PyPI): affected from 1.7.0; fixed in 1.7.1\n- authlib (PyPI): affected from 1.7.0; fixed in 1.7.1\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-41479/ (Markdown: https://insights.sbomify.com/CVE-2026-41479/index.md)","id":"CVE-2026-41479","markdown":"https://insights.sbomify.com/CVE-2026-41479/index.md","name":"CVE-2026-41479","record":{"aliases":["DEBIAN-CVE-2026-41479","ECHO-c358-1d0d-d3a2","GHSA-w8p2-r796-3vmq","MINI-p297-6w5v-99r9","MINI-v75p-c3rc-gqf7","PYSEC-2026-2119","ROOT-APP-PYPI-CVE-2026-41479","SUSE-SU-2026:4111-1","UBUNTU-CVE-2026-41479","openSUSE-SU-2026:21795-1"],"analysis":null,"analysis_generated_by":null,"assigner":"GitHub_M","cpe":[{"product":"authlib","vendor":"authlib"}],"cvss":{"score":5.4,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-601","name":"URL Redirection to Untrusted Site"}],"description":"Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.6.10 and 1.7.1, Authlib's OAuth 2.0 authorization endpoint can be turned into an unauthenticated open redirect when a request uses an unsupported response_type and supplies an attacker-controlled redirect_uri. The vulnerable behavior happens before client lookup and before any redirect URI validation. As a result, an attacker does not need a valid client registration, an authenticated user, or any prior state. A single request to the authorization endpoint is enough to obtain a 302 Location response to an arbitrary attacker-controlled URL. This vulnerability is fixed in 1.6.10 and 1.7.1.","ecosystems":["PyPI","SUSE:Linux Enterprise Module for Python 3 15 SP7","openSUSE:Leap 16.0"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Authlib OAuth 2.0 has Open Redirect in Authorization API that allows attacker-controlled redirect_uri through unsupported response_type","id":"CVE-2026-41479","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":null,"year":"2026"},"n_packages":7,"n_references":2,"next":{"headline":"LangChain: HTMLHeaderTextSplitter.split_text_from_url SSRF Redirect Bypass","id":"CVE-2026-41481"},"packages":[{"ecosystem":"PyPI","fixed":["1.6.10"],"introduced":["0"],"last_affected":[],"package":"authlib","purl":null,"source":"GHSA-w8p2-r796-3vmq"},{"ecosystem":"PyPI","fixed":["1.6.10"],"introduced":["0"],"last_affected":[],"package":"authlib","purl":"pkg:pypi/authlib","source":"GHSA-w8p2-r796-3vmq"},{"ecosystem":"PyPI","fixed":["1.6.10"],"introduced":["0"],"last_affected":[],"package":"authlib","purl":"pkg:pypi/authlib","source":"PYSEC-2026-2119"},{"ecosystem":"PyPI","fixed":["1.7.1"],"introduced":["1.7.0"],"last_affected":[],"package":"authlib","purl":null,"source":"GHSA-w8p2-r796-3vmq"},{"ecosystem":"PyPI","fixed":["1.7.1"],"introduced":["1.7.0"],"last_affected":[],"package":"authlib","purl":"pkg:pypi/authlib","source":"GHSA-w8p2-r796-3vmq"},{"ecosystem":"SUSE:Linux Enterprise Module for Python 3 15 SP7","fixed":["1.3.1-150600.3.30.1"],"introduced":["0"],"last_affected":[],"package":"python-Authlib","purl":"pkg:rpm/suse/python-Authlib\u0026distro=SUSE%20Linux%20Enterprise%20Module%20for%20Python%203%2015%20SP7","source":"SUSE-SU-2026:4111-1"},{"ecosystem":"openSUSE:Leap 16.0","fixed":["1.5.2-bp160.4.1"],"introduced":["0"],"last_affected":[],"package":"python-Authlib","purl":"pkg:rpm/opensuse/python-Authlib\u0026distro=openSUSE%20Leap%2016.0","source":"openSUSE-SU-2026:21795-1"}],"prev":{"headline":"Saltcorn: SQL Injection via Unparameterized Sync Endpoints (maxLoadedId)","id":"CVE-2026-41478"},"products":["authlib"],"published":"2026-06-22","related":[{"cvss_score":9.1,"headline":"Authlib JWS JWK Header Injection: Signature Verification Bypass","id":"CVE-2026-27962","kev_date_added":null,"published":"2026-03-16"},{"cvss_score":8.3,"headline":"Authlib Vulnerable to JWE RSA1_5 Bleichenbacher Padding Oracle","id":"CVE-2026-28490","kev_date_added":null,"published":"2026-03-16"},{"cvss_score":8.2,"headline":"Authlib: Fail-Open Cryptographic Verification in OIDC Hash Binding","id":"CVE-2026-28498","kev_date_added":null,"published":"2026-03-16"},{"cvss_score":7.7,"headline":"Authlib: Setting `alg: none` and a blank signature appears to bypass signature verification","id":"CVE-2026-28802","kev_date_added":null,"published":"2026-03-06"},{"cvss_score":7.5,"headline":"Authlib is vulnerable to Denial of Service via Oversized JOSE Segments","id":"CVE-2025-61920","kev_date_added":null,"published":"2025-10-10"},{"cvss_score":7.5,"headline":"Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass)","id":"CVE-2025-59420","kev_date_added":null,"published":"2025-09-22"},{"cvss_score":7.5,"headline":"Authlib has algorithm confusion with asymmetric public keys","id":"CVE-2024-37568","kev_date_added":null,"published":"2024-06-09"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"CC BY 4.0","name":"SUSE","prefix":"SUSE"},{"class":"attribution","licence":"CC BY 4.0","name":"SUSE","prefix":"openSUSE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-06-23","vendors":["authlib"]},"summary":null,"url":"https://insights.sbomify.com/CVE-2026-41479/"}