web2py remote code execution via hardcoded encryption key in session.connect function
The sample web application in web2py before 2.14.2 might allow remote attackers to execute arbitrary code via vectors involving use of a hardcoded encryption key when calling the session.connect function.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | web2py | < 2.14.2 | 2.14.2 |
References
- https://nvd.nist.gov/vuln/detail/CVE-2016-3953
- https://github.com/web2py/web2py/issues/1205
- https://github.com/web2py/web2py/commit/9706d125b42481178d2b423de245f5d2faadbf40
- https://devco.re/blog/2017/01/03/web2py-unserialize-code-execution-CVE-2016-3957
- https://github.com/web2py/web2py
- https://github.com/web2py/web2py/blob/R-2.14.1/applications/examples/models/session.py
- https://usn.ubuntu.com/4030-1
- https://pypi.org/project/web2py
- https://github.com/advisories/GHSA-q2rq-qgcf-m22w
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-798- Platform
- Python (PyPI)
- Package
web2py- Disclosed
- 14.05.2022
- Updated
- 11.10.2026 13:17
Sources and licenses
OSV / GitHub Advisory Database - GHSA-q2rq-qgcf-m22w - CC BY 4.0
OSV / GitHub Advisory Database - PYSEC-2026-570 - PyPA Advisory Database; CC BY 4.0
Vulnerability history: web2py
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 8
- First → latest
- 05.2022 02.2026
- Without a fix
- 1
- Exploited in attacks
- 0
Severity breakdown
- Critical 2
- Medium 6
Disclosures per year
- 2022: 6
- 2023: 1
- 2024: 0
- 2025: 0
- 2026: 1
-
web2py remote code execution via hardcoded encryption key in session.connect function this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.