{"dataType":"CVE_RECORD","dataVersion":"1.0","cveMetadata":{"cveId":"GCVE-110-VULN-PYPI-2026-000587","assignerOrgId":"","assignerShortName":"Vulnetix","state":"PUBLISHED","datePublished":"2026-10-25T21:53:59Z","dateUpdated":"2026-10-25T21:53:59Z","dateReserved":""},"containers":{"cna":{"providerMetadata":null,"title":"","descriptions":[{"lang":"en","value":"guardana-core reads the WWW-Authenticate header a probed MCP server returns with the regular expression _mcp_authorization._CHALLENGE_PARAM, (\\w+)\\s*=\\s*\"([^\"]*)\", through challenge_parameters when the discovery step of an MCP target probe looks for the resource_metadata parameter (_resource_metadata_urls). On a run of word characters with no =\"...\" after it, findall retries the match from every position, so the time to read the header grows with the square of its length, up to the 64 KiB header line that http.client accepts. The server under test, or anything that can answer for it, can stall the probe with one crafted header. Only availability is affected: a probe that finishes reads the same parameters. Affects 0.13.0 through 1.0.0rc5. Version 1.0.0 lets a parameter start only at a word boundary and makes the quantifiers possessive, so the header is read in linear time.","supportingMedia":null}],"references":[{"url":"https://pypi.org/project/guardana-core/","name":"","tags":["advisory"]},{"url":"https://github.com/guardana/guardana/commit/b4bb24fe0648cd4a55ed2b85e6cdbe44f1f04136","name":"Fix: guardana#208","tags":["fix"]},{"url":"https://github.com/guardana/guardana","name":"","tags":["web"]}],"metrics":[{"format":"","scenarios":null,"cvssV2_0":null,"cvssV3_0":null,"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L","baseScore":4.3,"baseSeverity":"MEDIUM"},"cvssV4_0":null,"other":null}],"problemTypes":[{"descriptions":[{"lang":"en","description":"Inefficient Regular Expression Complexity","cweId":"CWE-1333","type":"CWE"}]},{"descriptions":[{"lang":"en","description":"Uncontrolled Resource Consumption","cweId":"CWE-400","type":"CWE"}]}],"affected":[{"vendor":"pypi","product":"guardana-core","collectionURL":"https://pypi.org","packageName":"guardana-core","repo":"","defaultStatus":"unaffected","versions":[{"version":"0.13.0","status":"affected","versionType":"python","lessThan":"1.0.0","lessThanOrEqual":"","changes":null},{"version":"1.0.0","status":"unaffected","versionType":"python","lessThan":"","lessThanOrEqual":"","changes":null}],"cpes":null,"modules":["guardana.core.target._mcp_authorization"],"programFiles":["guardana/core/target/_mcp_authorization.py"],"programRoutines":[{"name":"guardana.core.target._mcp_authorization.challenge_parameters"},{"name":"guardana.core.target._mcp_authorization._resource_metadata_urls"},{"name":"guardana.core.target._mcp_authorization._Probe.discovery"}],"platforms":null}],"cpeApplicability":null,"rejectedReasons":null,"replacedBy":null},"adp":null}}