{"id":"PYSEC-2026-3816","summary":"Cognee allows non-superusers to overwrite global LLM configuration","details":"Cognee before 1.2.0 contains an improper access control vulnerability that allows unauthenticated attackers to overwrite the global LLM provider configuration by self-registering an account and calling the settings endpoint, which performs no admin or superuser check. Attackers can redirect all LLM operations instance-wide to an attacker-controlled endpoint by exploiting the process-wide singleton configuration cache, enabling exfiltration of prompts, uploaded documents, extracted entities, and knowledge graph content from all users.","aliases":["CVE-2026-58473","GHSA-49f7-whx5-4256"],"modified":"2026-09-10T12:15:03.031246070Z","published":"2026-09-10T09:44:50.382766Z","references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-58473"},{"type":"WEB","url":"https://github.com/topoteretes/cognee/issues/3084"},{"type":"WEB","url":"https://github.com/topoteretes/cognee/commit/10971db1b0bd97e88f96bd2a9ffb3edb7b22bcd0"},{"type":"WEB","url":"https://github.com/topoteretes/cognee/commit/d10b1b77e2157c6238fd4d1acb1923a048991699"},{"type":"WEB","url":"https://github.com/topoteretes/cognee/commit/ebcf82412d0954f5c5018444f7eee8d96fee5113"},{"type":"PACKAGE","url":"https://github.com/topoteretes/cognee"},{"type":"WEB","url":"https://github.com/topoteretes/cognee/releases/tag/v1.2.0"},{"type":"WEB","url":"https://www.vulncheck.com/advisories/cognee-unauthorized-llm-configuration-overwrite-via-api-v1-settings"},{"type":"PACKAGE","url":"https://pypi.org/project/cognee"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-49f7-whx5-4256"}],"affected":[{"package":{"name":"cognee","ecosystem":"PyPI","purl":"pkg:pypi/cognee"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.0"}]}],"versions":["0.1.0","0.1.1","0.1.10","0.1.11","0.1.12","0.1.13","0.1.14","0.1.15","0.1.16","0.1.17","0.1.18","0.1.19","0.1.2","0.1.20","0.1.21","0.1.22","0.1.23","0.1.24","0.1.25","0.1.26","0.1.27","0.1.28","0.1.29","0.1.3","0.1.32","0.1.33","0.1.34","0.1.35","0.1.36","0.1.37","0.1.38","0.1.39","0.1.4","0.1.40","0.1.41","0.1.42","0.1.43","0.1.44","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.2.0","0.2.0.dev0","0.2.1","0.2.1.dev0","0.2.1.dev1","0.2.1.dev2","0.2.1.dev3","0.2.1.dev4","0.2.1.dev5","0.2.1.dev6","0.2.1.dev7","0.2.2","0.2.2.dev0","0.2.2.dev1","0.2.3","0.2.3.dev0","0.2.3.dev1","0.2.4","0.3.0","0.3.0.dev0","0.3.1","0.3.2","0.3.3","0.3.4","0.3.4.dev0","0.3.4.dev1","0.3.4.dev2","0.3.4.dev3","0.3.4.dev4","0.3.5","0.3.6","0.3.7","0.3.7.dev1","0.3.7.dev2","0.3.8","0.3.9","0.4.0","0.4.1","0.5.0","0.5.0.dev0","0.5.0.dev1","0.5.1","0.5.1.dev0","0.5.2","0.5.2.dev0","0.5.3","0.5.3.dev0","0.5.3.dev1","0.5.4","0.5.4.dev0","0.5.4.dev1","0.5.4.dev2","0.5.4.dev3","0.5.4rc1","0.5.5","0.5.5.dev0","0.5.5.dev1","0.5.5.dev20260316","0.5.5.dev20260323","0.5.5.dev20260330","0.5.6","0.5.6.dev20260406","0.5.7","0.5.7.dev0","0.5.8","0.5.8rc1","1.0.0","1.0.0.dev0","1.0.0.dev20260413","1.0.1","1.0.1.dev0","1.0.1.dev1","1.0.1.dev2","1.0.1.dev20260420","1.0.1.dev3","1.0.1.dev4","1.0.2","1.0.3","1.0.3.dev20260427","1.0.4","1.0.4.dev0","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","1.1.0","1.1.0.dev0","1.1.0.dev1","1.1.1","1.1.1.dev0","1.1.2","1.1.3","1.2.0","1.2.0.dev0","1.2.0.dev1","1.2.1","1.2.1.dev20260622","1.2.2","1.2.2.dev0","1.2.2.dev1","1.2.2.dev2","1.2.2.dev20260629","1.2.2.dev20260706","1.2.2.dev3","1.2.2.dev4","1.3.0","1.3.0.dev20260713","1.4.0","1.4.0.dev0","1.4.0.dev1","1.4.0.dev2","1.4.0.dev20260803","1.4.0.dev3","1.4.0.dev4","1.4.1","1.4.1.dev0","1.4.1.dev1","1.4.2","1.5.0.dev1","1.5.0.dev2","1.5.0.dev3","1.5.0.dev4","1.5.0.dev5"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/cognee/PYSEC-2026-3816.yaml"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"}]}