---
id: "CVE-2026-97702"
kind: "vulnerability"
aliases: ["CVE-2026-97702"]
title: "Open edX: any logged-in learner can probe account existence and staff roles"
severity: "medium"
cvss: 5.3
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["learning-platform", "open-edx", "runtime", "self-hosted"]
not_affected_if: ["already-on-fixed-release", "anonymous-only-access", "managed-hosting-patched"]
published_at: "2026-11-04T23:17:59+00:00"
first_seen_at: "2026-11-05T00:31:00+00:00"
updated_at: "2026-11-05T00:31:59+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-97702", "first_seen_at": "2026-11-05T00:31:00+00:00"}]
exploit_sources: []
---

# Open edX: any logged-in learner can probe account existence and staff roles

The Open edX course platform exposes a support endpoint that only checks that a caller is logged in, not that they hold the support role. Any authenticated learner can tell whether an arbitrary email, username or user ID belongs to an active account, and course or organization instructors can see the staff and instructor assignments of the target user.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Open edX release: versions from the Ulmo line before `release/ulmo.4` or the Verawood line before `release/verawood.1` are affected.
- Look for the endpoint `/api/support/v1/manage_course_team/` in the platform code (`CourseTeamManageAPIView`) and confirm whether it checks the global support role.

## Fix

- Move to `release/ulmo.4` (Ulmo line) or `release/verawood.1` (Verawood line), per the sources.

## Timeline

- 2026-11-05T00:31:00+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-97702

## Documents

- [advisory] Vendor advisory: github.com https://github.com/openedx/openedx-platform/security/advisories/GHSA-95xv-3c54-c3pw
- [fix] Patch: github.com https://github.com/openedx/openedx-platform/commit/46c543590c78aa1bfa846d47a4f1c5c6ec388490
- [fix] Patch: github.com https://github.com/openedx/openedx-platform/commit/e2a1215f8d5da5170ddbf10316c2362e965e17bc
- [fix] Release notes: github.com https://github.com/openedx/openedx-platform/releases/tag/release/ulmo.4
- [fix] Release notes: github.com https://github.com/openedx/openedx-platform/releases/tag/release/verawood.1

## From the sources

Open edX Platform enables the authoring and delivery of online learning at any scale. From the Ulmo release until release/ulmo.4 and release/verawood.1, the GET /api/support/v1/manage_course_team/ endpoint in CourseTeamManageAPIView requires only IsAuthenticated and omits the global support-role authorization check intended for this help-desk surface. Any authenticated learner can supply an email, username, or user_id for an arbitrary target and use the 200 and 404 response discrepancy to distinguish an active account from an absent or inactive account. A caller with a course-level or organization-level instructor role can additionally obtain the target user's staff or instructor assignments within the caller's course or organization scope. Anonymous callers remain blocked, and the separately authorized PUT behavior is outside this vulnerability. This issue is fixed in release/ulmo.4 and release/verawood.1.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
