{"id":"CVE-2026-93869","published":"2026-09-18T20:17:34.787","lastModified":"2026-09-22T20:53:07.383","description":"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 supplying hostnames beginning with the site domain to redirect users to attacker-controlled hosts through the ratings plugin or other redirect callers.","cvssScore":6.1,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","cwes":["CWE-601"],"vendors":[],"products":[],"references":[{"url":"https://github.com/Cotonti/Cotonti","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/ratings/ratings.ajax.php","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/system/functions.php","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/issues/1891","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/pull/1899","tags":[]},{"url":"https://www.vulncheck.com/advisories/cotonti-through-1.0.0-open-redirect-via-unanchored-cot-url-check-regex","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/issues/1891","tags":[]}],"exploitRefs":[{"url":"https://github.com/Cotonti/Cotonti","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/ratings/ratings.ajax.php","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/system/functions.php","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/issues/1891","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/pull/1899","tags":[]},{"url":"https://github.com/Cotonti/Cotonti/issues/1891","tags":[]}],"hasPoc":true,"ai":null}