{"id":"CVE-2026-93869","title":"Cotonti through 1.0.0 contains an open redirect vulnerability in the cot_url_check() function that validates redirect destinations using a regular expression lacking an end-of-string anchor","summary":"Cotonti through 1.0.0 contains an open redirect vulnerability in the cot_url_check() function that validates redirect destinations using a regular expression lacking an end-of-string anchor. Attackers can bypass the redirect guard by sup…","severity":"medium","cvss":6.1,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","cwe":["CWE-601"],"vendor":"Cotonti","product":"Cotonti","affected":["Cotonti <= 1.0.0"],"published":"2026-09-18","updated":"2026-09-21","sourceUpdated":"2026-09-21T16:17:28.240","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-93869","references":[{"url":"https://github.com/Cotonti/Cotonti","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/ratings/ratings.ajax.php","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/system/functions.php","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/issues/1891","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/pull/1899","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/cotonti-through-1.0.0-open-redirect-via-unanchored-cot-url-check-regex","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/issues/1891","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd","cve.org","exploit-available"],"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-21T15:16:19.097293Z"},"epss":0.00217,"epssPercentile":0.12366,"ingestedAt":"2026-09-18T20:51:25.688Z","slug":"CVE-2026-93869","body":"## Overview\n\nCotonti through 1.0.0 contains an open redirect vulnerability in the cot_url_check() function that validates redirect destinations using a regular expression lacking an end-of-string anchor. Attackers can bypass the redirect guard by supplying hostnames beginning with the site domain to redirect users to attacker-controlled hosts through the ratings plugin or other redirect callers.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":46,"depthScoreParts":{"impact":33.6,"likelihood":0,"exploitation":12,"ransomware":0},"changes":[{"seq":208530,"id":"CVE-2026-93869","ts":1790007770666,"field":"exploit_available","old":"false","new":"true"}]}