{"api_version":"1","generated_at":"2026-11-12T20:21:05+00:00","cve":"CVE-2026-126193","urls":{"html":"https://cve.report/CVE-2026-126193","api":"https://cve.report/api/cve/CVE-2026-126193.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-126193","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-126193"},"summary":{"title":"Soup Sieve: Uncontrolled recursion in Soup Sieve CSS parser lets nested pseudo-class selectors exhaust the Python call stack","description":"Soup Sieve is a CSS selector library for Beautiful Soup. From 0.4 until 3.0, deeply nested CSS pseudo-class selectors can cause recursive parsing to exceed Python’s recursion limit and raise  RecursionError . Applications accepting untrusted selectors may experience failure of the affected request or task if the exception is not handled. The demonstrated behavior is recoverable and does not establish an interpreter crash or persistent service-wide denial of service. This vulnerability is fixed in version 3.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-11-12 17:17:32","updated_at":"2026-11-12 19:09:06"},"problem_types":["CWE-674","CWE-674 CWE-674: Uncontrolled Recursion"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"5.3","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","baseScore":5.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"LOW"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"5.3","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.3,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","version":"3.1"}}],"references":[{"url":"https://github.com/facelessuser/soupsieve/pull/306","name":"https://github.com/facelessuser/soupsieve/pull/306","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/facelessuser/soupsieve/commit/52de12f157a373614ad0f486d434551c5a4378ee","name":"https://github.com/facelessuser/soupsieve/commit/52de12f157a373614ad0f486d434551c5a4378ee","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/facelessuser/soupsieve/security/advisories/GHSA-7g44-g9rc-x53w","name":"https://github.com/facelessuser/soupsieve/security/advisories/GHSA-7g44-g9rc-x53w","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/facelessuser/soupsieve/releases/tag/3.0","name":"https://github.com/facelessuser/soupsieve/releases/tag/3.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-126193","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126193","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"facelessuser","product":"soupsieve","version":"affected >= 0.4, < 3.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"soupsieve","vendor":"facelessuser","versions":[{"status":"affected","version":">= 0.4, < 3.0"}]}],"descriptions":[{"lang":"en","value":"Soup Sieve is a CSS selector library for Beautiful Soup. From 0.4 until 3.0, deeply nested CSS pseudo-class selectors can cause recursive parsing to exceed Python’s recursion limit and raise  RecursionError . Applications accepting untrusted selectors may experience failure of the affected request or task if the exception is not handled. The demonstrated behavior is recoverable and does not establish an interpreter crash or persistent service-wide denial of service. This vulnerability is fixed in version 3.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.3,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-674","description":"CWE-674: Uncontrolled Recursion","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-11-12T17:12:02.083Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/facelessuser/soupsieve/security/advisories/GHSA-7g44-g9rc-x53w","tags":["x_refsource_CONFIRM"],"url":"https://github.com/facelessuser/soupsieve/security/advisories/GHSA-7g44-g9rc-x53w"},{"name":"https://github.com/facelessuser/soupsieve/pull/306","tags":["x_refsource_MISC"],"url":"https://github.com/facelessuser/soupsieve/pull/306"},{"name":"https://github.com/facelessuser/soupsieve/commit/52de12f157a373614ad0f486d434551c5a4378ee","tags":["x_refsource_MISC"],"url":"https://github.com/facelessuser/soupsieve/commit/52de12f157a373614ad0f486d434551c5a4378ee"},{"name":"https://github.com/facelessuser/soupsieve/releases/tag/3.0","tags":["x_refsource_MISC"],"url":"https://github.com/facelessuser/soupsieve/releases/tag/3.0"}],"source":{"advisory":"GHSA-7g44-g9rc-x53w","discovery":"UNKNOWN"},"title":"Soup Sieve: Uncontrolled recursion in Soup Sieve CSS parser lets nested pseudo-class selectors exhaust the Python call stack"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-126193","datePublished":"2026-11-12T17:12:02.083Z","dateReserved":"2026-11-10T20:07:44.957Z","dateUpdated":"2026-11-12T17:12:02.083Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-11-12 17:17:32","lastModifiedDate":"2026-11-12 19:09:06","problem_types":["CWE-674","CWE-674 CWE-674: Uncontrolled Recursion"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","baseScore":5.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"LOW"},"exploitabilityScore":3.9,"impactScore":1.4}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"126193","Ordinal":"1","Title":"Soup Sieve: Uncontrolled recursion in Soup Sieve CSS parser lets","CVE":"CVE-2026-126193","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"126193","Ordinal":"1","NoteData":"Soup Sieve is a CSS selector library for Beautiful Soup. From 0.4 until 3.0, deeply nested CSS pseudo-class selectors can cause recursive parsing to exceed Python’s recursion limit and raise  RecursionError . Applications accepting untrusted selectors may experience failure of the affected request or task if the exception is not handled. The demonstrated behavior is recoverable and does not establish an interpreter crash or persistent service-wide denial of service. This vulnerability is fixed in version 3.0.","Type":"Description","Title":"Soup Sieve: Uncontrolled recursion in Soup Sieve CSS parser lets"}]}}}