{"id":"UBUNTU-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-02-04T04:27:03.267754Z","published":"2018-02-06T00:00:00Z","related":["USN-4030-1"],"upstream":["CVE-2016-3957"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2016-3957"},{"type":"REPORT","url":"https://devco.re/blog/2017/01/03/web2py-unserialize-code-execution-CVE-2016-3957/"},{"type":"REPORT","url":"https://github.com/web2py/web2py/blob/R-2.14.1/gluon/utils.py#L200"},{"type":"ADVISORY","url":"https://ubuntu.com/security/notices/USN-4030-1"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2016-3957"}],"affected":[{"package":{"name":"web2py","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/web2py@2.12.3-1ubuntu0.1?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.12.3-1ubuntu0.1"}]}],"versions":["1.99.7-1","2.12.3-1"],"ecosystem_specific":{"availability":"No subscription required","binaries":[{"binary_version":"2.12.3-1ubuntu0.1","binary_name":"python-gluon"},{"binary_version":"2.12.3-1ubuntu0.1","binary_name":"python-web2py"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2016/UBUNTU-CVE-2016-3957.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}