CVE-2023-23611:
LTI 1.3 Grade Pass Back Implementation has Missing Authorization Vulnerability
3.7
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.36002%
CWE
Published
8/30/2024
Updated
8/30/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
lti-consumer-xblock | pip | >= 7.0.0, < 7.2.2 | 7.2.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the publish_grade_on_score_update signal handler in signals.py. The pre-patch code used the line_item's resource_link_id directly to load and modify grades without verifying if the LTI tool was authorized to write to that XBlock location. The commit diff shows the addition of a critical authorization check (line_item.resource_link_id != lti_config.location) to prevent cross-block grade injection. This function was the entry point for grade persistence logic and lacked proper resource ownership validation prior to the patch.