CVE-2016-3957 Deserialization in n/a
Remote attackers can execute arbitrary code by exploiting unsafe pickle deserialization in web2py session cookies if the encryption key is known.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2016-3957?
CVE-2016-3957 is a critical unsafe deserialization vulnerability in n/a, published on 6 Feb 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Weakness: CWE-502
Which versions are affected by CVE-2016-3957?
It affects 1 product.
Products include Web2py Web2py.
How do I fix CVE-2016-3957?
Upgrade to a fixed version.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2016-3957 being exploited?
There is no known exploitation of CVE-2016-3957 in the wild and no public exploit code.
Public exploit code: 1 proofs of concept on GitHub.
Other vulnerabilities in n/a
- CVE-2023-45158 Command injection in web2py
- CVE-2016-3953 web2py remote code execution via hardcoded encryption key in session.connect function
- CVE-2016-10321 web2py is vulnerable to password brute-force attack
- CVE-2016-4808 Web2py Cross-Site Request Forgery vulnerability
- CVE-2016-3952 Information disclosure in n/a
Sources
Also known as GHSA-p6rg-cchx-f5x4, UBUNTU-CVE-2016-3957.