{"id":"CVE-2016-3957","details":"The secure_load function in gluon/utils.py in web2py before 2.14.2 uses pickle.loads to deserialize session information stored in cookies, which might allow remote attackers to execute arbitrary code by leveraging knowledge of encryption_key.","modified":"2026-04-10T03:51:09.904534Z","published":"2018-02-06T18:29:00.400Z","references":[{"type":"WEB","url":"https://usn.ubuntu.com/4030-1/"},{"type":"ADVISORY","url":"https://github.com/web2py/web2py/blob/R-2.14.1/gluon/utils.py#L200"},{"type":"EVIDENCE","url":"https://devco.re/blog/2017/01/03/web2py-unserialize-code-execution-CVE-2016-3957/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/web2py/web2py","events":[{"introduced":"0"},{"fixed":"32650f0cbf2c0211195e792a219899f74856b73e"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"2.14.2"}]}}],"versions":["R-2.10.1","R-2.10.2","R-2.10.3","R-2.10.4","R-2.10.4.beta","R-2.11.1","R-2.11.2","R-2.12.1","R-2.12.2","R-2.12.3","R-2.13.1","R-2.13.2","R-2.13.3","R-2.13.4","R-2.14.1","R-2.4.2","R-2.4.3","R-2.4.4","R-2.4.5","R-2.4.6","R-2.4.7","R-2.5.1","R-2.6.1","R-2.6.2","R-2.6.3","R-2.6.4","R-2.7.1","R-2.7.2","R-2.7.3","R-2.7.4","R-2.8.1","R-2.8.2","R-2.9.10","R-2.9.11","R-2.9.12","R-2.9.2","R-2.9.3","R-2.9.4","R-2.9.5","R-2.9.6","R-2.9.7","R-2.9.8","R-2.9.9"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2016-3957.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}