---
id: CVE-2026-76841
title: >-
  Xinference loads models with Hugging Face remote code execution
  unconditionally enabled, and before version 2.12.0 exposes no setting to
  disable it
summary: >-
  Xinference loads models with Hugging Face remote code execution
  unconditionally enabled, and before version 2.12.0 exposes no setting to
  disable it. Six loader call sites pass trust_remote_code=True as a literal or
  as an unconditional de…
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-94
published: '2026-08-24'
updated: '2026-09-24'
sourceUpdated: '2026-09-24T20:43:32.537'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-76841'
references:
  - url: 'https://github.com/xorbitsai/inference'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/xorbitsai/inference/blob/v2.11.0/xinference/model/rerank/core.py
    label: disclosure@vulncheck.com
  - url: 'https://github.com/xorbitsai/inference/issues/5023'
    label: disclosure@vulncheck.com
  - url: 'https://github.com/xorbitsai/inference/pull/5027'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/xinference-through-remote-code-execution-via-hardcoded-trust-remote-code-in-model-loaders
    label: disclosure@vulncheck.com
tags:
  - nvd
epss: 0.01029
epssPercentile: 0.62126
ingestedAt: '2026-09-24T20:51:40.220Z'
---

## Overview

Xinference loads models with Hugging Face remote code execution unconditionally enabled, and before version 2.12.0 exposes no setting to disable it. Six loader call sites pass trust_remote_code=True as a literal or as an unconditional default: RerankModel._get_tokenizer in xinference/model/rerank/core.py, SentenceTransformerRerankModel.load in xinference/model/rerank/sentence_transformers/core.py, SentenceTransformerEmbeddingModel.load in xinference/model/embedding/sentence_transformers/core.py, FlagEmbeddingModel.load in xinference/model/embedding/flag/core.py, and two sites in xinference/model/llm/transformers/core.py where PytorchModel._sanitize_model_config and PytorchModel._get_components default the value to True. Because a caller with model launch access can register a model whose type is unknown and supply an arbitrary model path, the server reaches _auto_detect_type and then AutoTokenizer.from_pretrained, which imports and executes Python declared by the model directory's own tokenizer_config.json auto_map, running attacker-supplied code with the privileges of the worker process. Version 2.12.0 gates every site behind allow_trust_remote_code and the XINFERENCE_TRUST_REMOTE_CODE setting, permitting remote code only for bundled built-in models.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
