{"id":"CVE-2021-35196","aliases":["DEBIAN-CVE-2021-35196","EUVD-2021-21840","GHSA-gx84-gwxx-9xjm"],"status":"disputed","title":"** DISPUTED ** Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a...","description":"Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendor's position is that the product is not intended for opening an untrusted project file","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.01888,"percentile":0.79706,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-502"],"published":"2021-06-21T22:21:39Z","modified":"2026-10-23T18:03:15Z","fixes":[{"ecosystem":"Debian:12","package":"manuskript","fixed_in":["0.14.0-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"manuskript","fixed_in":["0.14.0-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"manuskript","fixed_in":["0.14.0-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"manuskript","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.14.0-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"manuskript","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.14.0-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"manuskript","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.14.0-1"}]}]}],"products":[{"vendor":"theologeek","product":"manuskript"}],"references":[{"url":"https://github.com/olivierkes/manuskript/issues/891","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"https://www.pizzapower.me/2021/06/20/arbitrary-code-execution-in-manuskript-0-12/","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-35196"},{"url":"https://www.pizzapower.me/2021/06/20/arbitrary-code-execution-in-manuskript-0-12"},{"url":"https://github.com/advisories/GHSA-gx84-gwxx-9xjm"},{"url":"https://security-tracker.debian.org/tracker/CVE-2021-35196","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2021-35196","description":"Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendor's position is that the product is not intended for opening an untrusted project file","status":"disputed","published":"2021-06-21T22:21:39Z","modified":"2024-08-04T00:33:51.182Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"adp"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:33:09.864034Z"}],"euvd":[{"id":"EUVD-2021-21840","description":"Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendor's position is that the product is not intended for opening an untrusted project file","status":"published","published":"2021-06-21T22:21:39Z","modified":"2024-08-04T00:33:51Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-03T03:24:30.986651Z"}],"ghsa":[{"id":"GHSA-gx84-gwxx-9xjm","title":"** DISPUTED ** Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a...","description":"** DISPUTED ** Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendor's position is that the product is not intended for opening an untrusted project file.","status":"published","published":"2022-05-24T19:05:58Z","modified":"2024-03-30T05:01:51Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:55:45.740984Z"}],"nvd":[{"id":"CVE-2021-35196","description":"Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendor's position is that the product is not intended for opening an untrusted project file","status":"disputed","published":"2021-06-21T23:15:10.723Z","modified":"2026-06-17T03:57:16.647Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-502"],"updated_at":"2026-11-02T14:06:54.892562Z"}],"osv":[{"id":"CVE-2021-35196","description":"Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendor's position is that the product is not intended for opening an untrusted project file","status":"published","published":"2021-06-21T23:15:10.723Z","modified":"2026-10-20T10:54:47.461049754Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:44:20.13324Z"},{"id":"DEBIAN-CVE-2021-35196","description":"Manuskript through 0.12.0 allows remote attackers to execute arbitrary code via a crafted settings.pickle file in a project file, because there is insecure deserialization via the pickle.load() function in settings.py. NOTE: the vendor's position is that the product is not intended for opening an untrusted project file","status":"published","published":"2021-06-21T23:15:10.723Z","modified":"2026-10-23T18:03:15.48916263Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:35.233346Z"}]}}
