Enviar #1022230: UbiquitousLearning mllm 2.0.2 (commit bc8f5cdb557f) Path Traversalinformación

TítuloUbiquitousLearning mllm 2.0.2 (commit bc8f5cdb557f) Path Traversal
DescripciónA vulnerability was found in UbiquitousLearning mllm 2.0.2 (pymllm package, commit bc8f5cdb557f) and classified as high 7.1. Affected is the load_model function of the pymllm/mobile/convertor component. The manipulation of the weight_map shard filename argument in model.safetensors.index.json leads to a path traversal. User interaction is required because a victim must convert or load a crafted model package; the package needs to contain only JSON and SafeTensors data. Technical Details - Affected file/function: pymllm/mobile/convertor/__init__.py / load_model(), index branch lines 81-107 - Vulnerable parameter: weight_map shard filename value of model.safetensors.index.json - Attack vector: Local (crafted model package delivered e.g. via a model hub or archive) - Privileges required: None - Trigger condition: os.path.join(index_dir, shard_file) at line 102 joins the attacker-controlled value with no absolute-path or ".." rejection and no resolved-path containment check; safetensors.safe_open then opens the escaped path and get_tensor returns the out-of-package values in the state_dict Impact - Confidentiality: High (tensor content is read from outside the model package and the official mllm-convertor CLI embeds it into the converted .mllm artifact; distinguishable errors disclose path existence/parseability) - Integrity: High (attacker-selected values silently replace model weights and steer the behavior of real modules at forward() time) - Availability: None (missing or unparseable shards raise a normal exception) CVSS v3.1 Score: 7.1 (High) Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N Timeline - Discovered: 2026-10-07 - Vendor notified: [pending] - Patch released: [pending] - Public disclosure: [pending] Countermeasure Reject absolute paths and ".." segments in weight_map shard values and verify that the resolved path stays inside the model directory (e.g. Path(index_dir, shard_file).resolve().is_relative_to(Path(index_dir).resolve())) before calling safe_open; add a regression test with a ".."-escaping and an absolute weight_map value.
Fuente⚠️ https://github.com/UbiquitousLearning/mllm/issues/711
Usuario
 Dem0000000 (UID 98743)
Sumisión2026-10-09 17:58 (hace 15 días)
Moderación2026-10-23 16:59 (14 days later)
EstadoAceptado
Entrada de VulDB425982 [UbiquitousLearning mllm hasta 2.0.2 Convertor __init__.py load_model shard_file recorrido de directorios]
Puntos20

Want to stay up to date on a daily basis?

Enable the mail alert feature now!