{"answers":{"affected":"3 open source packages ship an affected version, including lti-consumer-xblock. It affects 1 product.","exploited":"There is no known exploitation of CVE-2023-23611 in the wild and no public exploit code.","fix":"Upgrade lti-consumer-xblock to 7.2.2 or later.","what":"CVE-2023-23611 is a medium-severity missing authorization vulnerability in openedx xblock-lti-consumer, published on 25 Jan 2023. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2023-23611 and fix it if it is affected.\n\nWhat it is: CVE-2023-23611 is a medium-severity missing authorization vulnerability in openedx xblock-lti-consumer, published on 25 Jan 2023. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2023-23611 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- lti-consumer-xblock (PyPI): affected from 7.0.0; fixed in 7.2.2\n- lti-consumer-xblock (PyPI): affected from 7.0.0; fixed in 7.2.2\n- lti-consumer-xblock (PyPI): affected from 7.0.0; fixed in 7.2.2\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2023-23611/ (Markdown: https://insights.sbomify.com/CVE-2023-23611/index.md)","id":"CVE-2023-23611","markdown":"https://insights.sbomify.com/CVE-2023-23611/index.md","name":"CVE-2023-23611","record":{"aliases":["GHSA-7j9p-67mm-5g87","PYSEC-2023-21"],"analysis":{"component_type":"library","fix_type":"patch","impacts":["data_modify"],"network_reachable":"yes","non_default_config":false,"product_category":"Open edX LTI plugin","requires_auth":"low_privilege","summary":"A malicious LTI tool can modify grades for any LTI XBlock on the Open edX platform by guessing block locations, compromising grade integrity.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"xblock-lti-consumer","vendor":"openedx"}],"cvss":{"score":5.4,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","version":"3.1"},"cwes":[{"id":"CWE-862","name":"Missing Authorization"}],"description":"LTI Consumer XBlock implements the consumer side of the LTI specification enabling integration of third-party LTI provider tools. Versions 7.0.0 and above, prior to 7.2.2, are vulnerable to Missing Authorization.  Any LTI tool that is integrated with on the Open edX platform can post a grade back for any LTI XBlock so long as it knows or can guess the block location for that XBlock. An LTI tool submits scores to the edX platform for line items. The code that uploads that score to the LMS grade tables determines which XBlock to upload the grades for by reading the resource_link_id field of the associated line item. The LTI tool may submit any value for the resource_link_id field, allowing a malicious LTI tool to submit scores for any LTI XBlock on the platform. The impact is a loss of integrity for LTI XBlock grades. This issue is patched in 7.2.2. No workarounds exist.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"xblock-lti-consumer contain Missing Authorization in Grade Pass Back Implementation","id":"CVE-2023-23611","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"missing_authorization","year":"2023"},"n_packages":3,"n_references":1,"next":{"headline":"Issue with whitespace in JWT roles in OpenSearch","id":"CVE-2023-23612"},"packages":[{"ecosystem":"PyPI","fixed":["7.2.2"],"introduced":["7.0.0"],"last_affected":[],"package":"lti-consumer-xblock","purl":null,"source":"GHSA-7j9p-67mm-5g87"},{"ecosystem":"PyPI","fixed":["7.2.2"],"introduced":["7.0.0"],"last_affected":[],"package":"lti-consumer-xblock","purl":"pkg:pypi/lti-consumer-xblock","source":"GHSA-7j9p-67mm-5g87"},{"ecosystem":"PyPI","fixed":["7.2.2"],"introduced":["7.0.0"],"last_affected":[],"package":"lti-consumer-xblock","purl":"pkg:pypi/lti-consumer-xblock","source":"PYSEC-2023-21"}],"prev":{"headline":"glpi vulnerable to Unauthorized access to data export","id":"CVE-2023-23610"},"products":["xblock-lti-consumer"],"published":"2023-01-25","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-03-10","vendors":["openedx"]},"summary":"A malicious LTI tool can modify grades for any LTI XBlock on the Open edX platform by guessing block locations, compromising grade integrity.","url":"https://insights.sbomify.com/CVE-2023-23611/"}