{"id":"CVE-2026-91939","title":"Cotonti 1.0.0 Comments plugin passes the ci GET parameter to unserialize() without allowed_classes restriction, allowing unauthenticated attackers to instantiate arbitrary PHP classes with attacker-controlled properties","summary":"Cotonti 1.0.0 Comments plugin passes the ci GET parameter to unserialize() without allowed_classes restriction, allowing unauthenticated attackers to instantiate arbitrary PHP classes with attacker-controlled properties. Attackers can ex…","severity":"critical","cvss":9.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cwe":["CWE-502"],"vendor":"Cotonti","product":"Cotonti","affected":["Cotonti >= 1.0.0 <= 1.0.0"],"published":"2026-09-15","updated":"2026-09-16","sourceUpdated":"2026-09-16T20:21:01.047","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-91939","references":[{"url":"https://github.com/Cotonti/Cotonti","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/comments/comments.setup.php","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/comments/controllers/actions/DisplayAction.php","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/comments/inc/CommentsWidget.php","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/issues/1888","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/pull/1889","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/cotonti-1.0.0-comments-plugin-php-object-injection-via-ci-parameter","label":"disclosure@vulncheck.com"},{"url":"https://github.com/Cotonti/Cotonti/issues/1888","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd","cve.org","exploit-available"],"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"yes","technicalImpact":"total","timestamp":"2026-09-16T19:17:38.681650Z"},"ingestedAt":"2026-09-15T21:44:50.654Z","epss":0.00594,"epssPercentile":0.46799,"slug":"CVE-2026-91939","body":"## Overview\n\nCotonti 1.0.0 Comments plugin passes the ci GET parameter to unserialize() without allowed_classes restriction, allowing unauthenticated attackers to instantiate arbitrary PHP classes with attacker-controlled properties. Attackers can exploit PHP object injection through crafted serialized payloads to trigger gadget chains and achieve database manipulation or code execution.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"abyssal","depthScore":66,"depthScoreParts":{"impact":53.9,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":205736,"id":"CVE-2026-91939","ts":1789589124276,"field":"exploit_available","old":"false","new":"true"}]}