CVE-2023-40021
Last modified
CVE-2023-40021 is a medium-severity vulnerability rated 5.3/10 on the CVSS scale. Oppia is an online learning platform. When comparing a received CSRF token against the expected token, Oppia uses the string equality operator (`==`), which is not safe against timing attacks. EPSS estimates a 0.65% chance of exploitation in the next 30 days.
Description
Oppia is an online learning platform. When comparing a received CSRF token against the expected token, Oppia uses the string equality operator (`==`), which is not safe against timing attacks. By repeatedly submitting invalid tokens, an attacker can brute-force the expected CSRF token character by character. Once they have recovered the token, they can then submit a forged request on behalf of a logged-in user and execute privileged actions on that user's behalf. In particular the function to validate received CSRF tokens is at `oppia.core.controllers.base.CsrfTokenManager.is_csrf_token_valid`. An attacker who can lure a logged-in Oppia user to a malicious website can perform any change on Oppia that the user is authorized to do, including changing profile information; creating, deleting, and changing explorations; etc. Note that the attacker cannot change a user's login credentials. An attack would need to complete within 1 second because every second, the time used in computing the token changes. This issue has been addressed in commit `b89bf80837` which has been included in release `3.3.2-hotfix-2`. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Metrics
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Oppia | Oppia | >= 1.1.0, < 3.3.2 |
| Oppia | Oppia | 3.3.2 |
References
- https://github.com/oppia/oppia/security/advisories/GHSA-49jp-pjc3-2532Exploit, Vendor Advisory
- https://github.com/oppia/oppia/security/advisories/GHSA-49jp-pjc3-2532Exploit, Vendor Advisory
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2023-40021?
How severe is CVE-2023-40021?
How do I fix CVE-2023-40021?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2023
- CVE-2023-40015Vyper is a Pythonic Smart Contract Language. For the followi…5.3
- CVE-2023-40017GeoNode is an open source platform that facilitates the crea…7.5
- CVE-2023-40018FreeSWITCH is a Software Defined Telecom Stack enabling the …7.5
- CVE-2023-40019FreeSWITCH is a Software Defined Telecom Stack enabling the …6.5
- CVE-2023-4002An issue has been discovered in GitLab EE affecting all vers…6.5
- CVE-2023-40020PrivateUploader is an open source image hosting server writt…8.3
- CVE-2023-40022Rizin is a UNIX-like reverse engineering framework and comma…7.8
- CVE-2023-40023yaklang is a programming language designed for cybersecurity…7.5
- CVE-2023-40024ScanCode.io is a server to script and automate software comp…6.1
- CVE-2023-40025Argo CD is a declarative, GitOps continuous delivery tool fo…7.1
- CVE-2023-40026Argo CD is a declarative continuous deployment framework for…4.3
- CVE-2023-40027Keystone is an open source headless CMS for Node.js — built …5.3
Are you affected by CVE-2023-40021?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
