Database/AI/ML frameworks & serving
Axolotl: multipack patch loads Hugging Face base models with trust_remote_code=True, giving RCE on the training node
Impact
Axolotl through 0.18.0 defaults trust_remote_code to None rather than False in the multipack patch path, so the guard that is supposed to block remote code never fires and the model is loaded via AutoModelForCausalLM.from_pretrained with a hardcoded trust_remote_code=True. Any fine-tuning job whose base_model points at an attacker-controlled Hugging Face repository executes that repository's Python inside the training process. On a GPU fleet that means arbitrary code with the identity of the training job: the mounted dataset volumes, the cluster credentials in the pod environment, the shared filesystem, and whatever the job's service account can reach. This is the classic supply-chain path for shared training clusters where users pick their own base model from the Hub, and it needs no privileges beyond being able to submit a training config.
Who can reach it
Anyone who can influence the base_model field of a training run - a tenant submitting a fine-tune config, or anyone who can get an operator to run a config naming a malicious Hub repository. No authentication to Axolotl itself is implied; the user interaction is selecting or accepting the model.
What to do
Upgrade Axolotl past 0.18.0 to a build containing commit b62d60b (PR #3858), which restores the trust_remote_code=False default in the multipack path. Rebuild the training image and restart the job runners; running jobs are unaffected in place but any queued config using an untrusted base model should be treated as suspect. Until the image is rebuilt, restrict base_model to an internal mirror or an allowlist of vetted Hub repositories.
References
Related entries
- Gradio (`/queue/join`): SSRFCVE-2024-4325 · Gradio (`/queue/join`)High
- ONNX: Security-control bypass through 1.20.1CVE-2026-28500 · ONNXHigh
- ONNX (`ExternalDataInfo`): Security control bypass in external-data path handlingCVE-2026-34445 · ONNX (`ExternalDataInfo`)High
- JupyterLab: saved HTML cell output can run arbitrary JupyterLab commands on one user clickCVE-2026-42557 · JupyterLab (HTML sanitizer / CommandLinker command dispatch)High
- LocalAI (`/models/apply`): Unauthenticated SSRF fetching arbitrary internal URLsCVE-2026-59707 · LocalAI (`/models/apply`)High
- Text Generation Inference (TGI): SSRF in the OpenAI-compatible multimodal chat endpointCVE-2026-63086 · Text Generation Inference (TGI)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.