Skip to content

Security: Restrict REST course self-enrolment - refs GHSA-qc88-h6gp-4gcg - #9237

Merged
christianbeeznest merged 1 commit into
chamilo:1.11.xfrom
christianbeeznest:security/auto-fix-GHSA-qc88-h6gp-4gcg
Oct 16, 2026
Merged

christianbeeznest merged 1 commit into
chamilo:1.11.xfrom
christianbeeznest:security/auto-fix-GHSA-qc88-h6gp-4gcg

Conversation

@christianbeeznest

@christianbeeznest christianbeeznest commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

REST v2 self-subscription accepted the requested course status while calling CourseManager::subscribeUser() with checkTeacherPermission=false.

That flag was intentionally introduced for administrative webservice operations, so platform administrators keep the existing behavior. Normal REST users may still subscribe themselves, but the server now forces STUDENT and uses the regular course self-subscription flow, which applies the course registration rules.

Verified against a running 1.11.x instance:

  • A normal user requesting COURSEMANAGER status is enrolled as STUDENT.
  • With course subscription disabled, self-subscription is rejected and no membership is created.
  • A platform administrator can still subscribe another user with COURSEMANAGER status while course subscription is disabled.

The historical checkTeacherPermission=false behavior is therefore preserved for administrative webservice use only.

Refs GHSA-qc88-h6gp-4gcg

@christianbeeznest
christianbeeznest force-pushed the security/auto-fix-GHSA-qc88-h6gp-4gcg branch from d932202 to 1be9416 Compare October 15, 2026 22:13
@christianbeeznest christianbeeznest changed the title Security: Restrict REST course access and self-enrolment - refs GHSA-qc88-h6gp-4gcg, GHSA-h4w8-c66c-p8r2 Security: Restrict REST course self-enrolment - refs GHSA-qc88-h6gp-4gcg Oct 15, 2026
@christianbeeznest
christianbeeznest merged commit 1cb7e53 into chamilo:1.11.x Oct 16, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant