BF Specification of CVE-2023-3765 — File Injection (absolute path traversal) in GitHub MLflow before v2.5.0

../../../../BF/images/BFVUL/BFCVE-2023-3765(simple)-0.png
Erroneous validation (does not check for absolute path format with '/', e.g. C:/ or C:/temp/poc.txt) in validate_path_is_safe() leads to file injection -- absolute path traversal. If exploited, this can lead to information exposure, data tempering, or denial of service -- confidentiality, integrity, and availability loss, correspondingly.
Erroneous Code (in 'validate_path_is_safe(path)') to Validate (absolute path with '/') of Entered data (via API for artifact actions (7 endpoints)) using Format mechanism (to disallow absolute paths, e.g., C:/ or C:/temp/poc.txt) in Codebase source code (mlflow/server/handlers.py#L532-#L533) in Local execution space leads to File Injection (absolute path traversal) final error, which can be exploited toward Information Exposure (IEX) (confidentiality loss),Denial of Service (DOS) (availability loss),Data Tampering (TPR) (integrity loss) security failure.



vendor:product: lfprojects:mlflow


Bug Report


Code with Fix


Code with Bug


NVD Entry

ClassDefinition
DVLData Validation (DVL) class – Data are validated (i.e., syntax check) or sanitized (i.e., escape, filter, or repair) improperly.
OperationDefinition
ValidateValidate operation – Check data syntax (e.g., proper form/grammar or missing symbols/elements) in order to accept or sanitize it.
Cause/ConsequenceDefinition
Code BugCode Bug type – An error in the implementation of an operation – proper operands over an improper operation. It is the roor cause of a security vulnerability. Must be fixed to resolve the vulnerability.
   Erroneous CodeErroneous Code bug - There is a coding error in the implementation of the operation.
Injection Final ErrorInjection final error/exploit vector type – An exploitable or undefined system behavior caused by validation or sanitization bugs.
   File InjectionFile Injection final error – Maliciously inserted data (e.g., with .. and / or with file entries) into an input used to access/modify files or as a file content.
Operation AttributeDefinition
MechanismMechanism operation attribute type – Shows how the operation with a bug or faulty operand is performed.
   FormatFormat operation attribute – The operation is via a policy based on syntax format (e.g., defined via regular expression).
Source CodeSource Code operation attribute type – Shows where the code of the operation with a bug or faulty operand resides within the software, firmware, or hardware.
   CodebaseCodebase operation attribute – The operation is in the programmer's code - in the application itself.
Execution SpaceExecution Space operation attribute type – Shows where the operation with a bug or faulty operand is executed and the privilege level at which it runs.
   LocalLocal operation attribute – The bugged code runs in an environment with access control policy with limited (local user) permission.
Operand AttributeDefinition
Data StateData State operand attribute type – Shows where the data comes from.
   EnteredEntered operand attribute – Data are from a user via a user interface (e.g., input field, dialog or a command prompt).
FailureDefinition
IEXInformation Exposure (IEX) – Inadvertent disclosure of information that leads to confidentiality loss.
DOSDenial of Service (DOS) – Disruption of access to or use of information or information systems that leads to availability loss.
TPRData Tampering (TPR) – Unauthorized modification or destruction of information that leads to integrity loss.