What’s Vulnerable › Vulnerabilities
CVE-2016-3957
- Severity: critical (CVSS 9.8 v3.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 4.9% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2018-02-06 · updated 2026-06-17
- Weakness: CWE-502
Description
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.
Affected products
- web2py: before 2.14.2 — fixed in 2.14.2
How to fix
Upgrade to a fixed version: web2py 2.14.2. Check the vendor advisory for mitigations.
References
- https://devco.re/blog/2017/01/03/web2py-unserialize-code-execution-CVE-2016-3957/
- https://github.com/web2py/web2py/blob/R-2.14.1/gluon/utils.py#L200
- https://usn.ubuntu.com/4030-1/
- https://devco.re/blog/2017/01/03/web2py-unserialize-code-execution-CVE-2016-3957/
- https://github.com/web2py/web2py/blob/R-2.14.1/gluon/utils.py#L200
- https://usn.ubuntu.com/4030-1/
Get alerted when CVE-2016-3957 or the next vulnerability affects your stack