Jenkins MATLAB Plugin missing permission checks
High severity
GitHub Reviewed
Published
Nov 29, 2023
to the GitHub Advisory Database
•
Updated Dec 5, 2023
Description
Published by the National Vulnerability Database
Nov 29, 2023
Published to the GitHub Advisory Database
Nov 29, 2023
Reviewed
Nov 29, 2023
Last updated
Dec 5, 2023
Jenkins MATLAB Plugin determines whether a user-specified directory on the Jenkins controller is the location of a MATLAB installation by parsing an XML file in that directory.
MATLAB Plugin 2.11.0 and earlier does not perform permission checks in several HTTP endpoints implementing related form validation.
Additionally, these HTTP endpoints do not require POST requests, resulting in a cross-site request forgery (CSRF) vulnerability.
Additionally, the plugin does not configure its XML parser to prevent XML external entity (XXE) attacks. This allows attackers able to create files on the Jenkins controller file system to have Jenkins parse a crafted XML document that uses external entities for extraction of secrets from the Jenkins controller or server-side request forgery.
MATLAB Plugin 2.11.1 configures its XML parser to prevent XML external entity (XXE) attacks.
Additionally, POST requests and Item/Configure permission are required for the affected HTTP endpoints.
References