CVE-2016-3957

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…

published February 6, 2018

CVSS
—
EPSS
5%
Percentile
92.1
In the wild
Unconfirmed
What it is

⚠️ A crafty deserialization flaw lurks in web2py! The secure_load function trusts pickle.loads to unpack session info from cookies, making it a potential playground for remote code execution. 🔥 Think of it like a restaurant where the chef blindly trusts every takeout order without checking the contents of the box. If a mischievous customer swaps their intended meal with something dangerous, the chef could end up serving a toxic dish! An attacker aware of the encryption_key could slip in malicious code, potentially allowing them to take control of your web application. This means they could access sensitive data, modify configurations, or even wreak havoc on your server—yikes!

Put simply

Think of it like a restaurant where the chef blindly trusts every takeout order without checking the contents of the box. If a mischievous customer swaps their intended meal with something dangerous, the chef could end up serving a toxic dish! This vulnerability arises because the secure_load function uses pickle.loads to deserialize session data without proper validation. If an attacker knows the encryption_key, they can craft a payload that executes arbitrary code upon loading.

What to do

An attacker aware of the encryption_key could slip in malicious code, potentially allowing them to take control of your web application. This means they could access sensitive data, modify configurations, or even wreak havoc on your server—yikes! Upgrade web2py to version 2.14.2 or later immediately to close this vulnerability. It's also wise to review and strengthen your session management practices, ensuring that all data is validated before deserialization. You've got this! By taking these steps, you'll not only patch this vulnerability but also reinforce your defenses like a security superhero! 🦸‍♂️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.04937 · 92.1th percentile
Published
2018-02-06T18:00Z
EPSS history
Timeline
  • 06 FEB 18:00Z
    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…
    cvelistv5