
Cloud Vulnerability DB
A community-led vulnerabilities database
nbgrader, a system for assigning and grading notebooks, disclosed a security vulnerability (CVE-2025-23205) on January 17, 2025. The vulnerability allows any JupyterHub user to extract formgrader content by sending malicious links to users with access to formgrader when using the default JupyterHub configuration with enable_subdomains = False. The issue affects version 0.9.4 and has been patched in version 0.9.5 (GitHub Advisory).
The vulnerability stems from enabling frame-ancestors: 'self' in the Content Security Policy (CSP) header. This configuration allows a malicious user (Alice) to craft a page embedding formgrader in an IFrame. When another user (Bob) with formgrader access visits that page, their credentials are sent and the formgrader page is loaded. Since Alice's page is on the same Origin as the formgrader iframe, JavaScript on Alice's page gains full access to the contents of the page served by formgrader using Bob's credentials. The vulnerability has been assigned a CVSS v4.0 Base Score of 6.9 (Medium) with vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N (NVD).
The vulnerability allows unauthorized access to formgrader content, potentially exposing sensitive grading information and compromising the integrity of the grading system. A malicious user can exploit this vulnerability to access and potentially manipulate grading data using another user's credentials (GitHub Advisory).
Users are advised to upgrade to nbgrader version 0.9.5 which patches this vulnerability. For those unable to upgrade immediately, two workarounds are available: 1) Disable frame-ancestors: self in the Content Security Policy, or 2) Enable per-user and per-service subdomains with JupyterHub.enable_subdomains = True. When subdomains are enabled, even if iframe embedding is allowed, the host page does not have access to the contents of the frame (JupyterHub Docs).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."