{"id":"CVE-2026-91939","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-91939","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…","details":"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 exploit PHP object injection through crafted serialized payloads to trigger gadget chains and achieve database manipulation or code execution.","published":"2026-09-15T21:16:48.957","modified":"2026-09-15T21:16:48.957","cvss":{"score":9.8,"severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[],"fix":{"url":"https://github.com/Cotonti/Cotonti/pull/1889","label":"Cotonti/Cotonti#1889"},"references":[{"type":"WEB","url":"https://github.com/Cotonti/Cotonti"},{"type":"WEB","url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/comments/comments.setup.php"},{"type":"WEB","url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/comments/controllers/actions/DisplayAction.php"},{"type":"WEB","url":"https://github.com/Cotonti/Cotonti/blob/1.0.0/plugins/comments/inc/CommentsWidget.php"},{"type":"WEB","url":"https://github.com/Cotonti/Cotonti/issues/1888"},{"type":"WEB","url":"https://github.com/Cotonti/Cotonti/pull/1889"},{"type":"WEB","url":"https://www.vulncheck.com/advisories/cotonti-1.0.0-comments-plugin-php-object-injection-via-ci-parameter"}],"provenance":{"sources":["OSV.dev","NVD","FIRST.org (EPSS)"],"lastVerified":"2026-09-15T21:16:48.957"}}