Jenkins MATLAB Plugin cross-site request forgery vulnerability
Date: 2023-11
Affected: maven/org.jenkins-ci.plugins:matlab
Attack vector: ssrf
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2023-49654
CVE-2023-49655
CVE-2023-49656
CWE: CWE-352
CWE-611
CWE-862
CVSS: 7.1 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N)

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.


Mitigations:

Architectural layers (MAESTRO):