---
id: CVE-2026-112145
title: >-
  speaches-ai speaches Pyannote Diarization Model Loading
  pyannote_diarization.py PyannoteDiarizationModelManager._load_fn
  externally-controlled input to select classes or code
summary: >-
  A security vulnerability has been detected in speaches-ai speaches up to
  0.9.0-rc.3. This vulnerability affects the function
  PyannoteDiarizationModelManager._load_fn of the file
  src/speaches/executors/pyannote_diarization.py of the compo…
severity: high
cvss: 7.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:X/RC:C'
cvssSource: cna
cwe:
  - CWE-470
vendor: speaches-ai
product: speaches
affected:
  - speaches 0.9.0-rc.0
  - speaches 0.9.0-rc.1
  - speaches 0.9.0-rc.2
  - speaches 0.9.0-rc.3
published: '2026-10-19'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T13:45:17.561Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-112145'
references:
  - url: 'https://vuldb.com/vuln/422250'
    label: >-
      VDB-422250 | speaches-ai speaches Pyannote Diarization Model Loading
      pyannote_diarization.py PyannoteDiarizationModelManager._load_fn
      externally-controlled input to select classes or code
  - url: 'https://vuldb.com/vuln/422250/cti'
    label: 'VDB-422250 | CTI Indicators (IOB, IOC, IOA)'
  - url: 'https://vuldb.com/cve/CVE-2026-112145'
    label: CVE-2026-112145 | CVE Analysis and Report
  - url: 'https://vuldb.com/submit/1013214'
    label: >-
      Submit #1013214 | speaches-ai Speaches git master 2026-04-18 (commit
      993994f) Unsafe Reflection
  - url: 'https://github.com/speaches-ai/speaches/issues/679'
  - url: 'https://github.com/user-attachments/files/33028601/poc.zip'
  - url: 'https://github.com/speaches-ai/speaches/'
tags:
  - cve.org
ingestedAt: '2026-10-19T14:30:01.080Z'
---

## Overview

A security vulnerability has been detected in speaches-ai speaches up to 0.9.0-rc.3. This vulnerability affects the function PyannoteDiarizationModelManager._load_fn of the file src/speaches/executors/pyannote_diarization.py of the component Pyannote Diarization Model Loading. The manipulation of the argument model leads to use of externally-controlled input to select classes or code. It is possible to initiate the attack remotely. The exploit has been disclosed publicly and may be used. The feature was introduced in PR #628 (feat/switch to pyannote audio), merged as commit 870e1e16a73452496e99d49f759eabd692a8e0e0. The project was informed of the problem early through an issue report but has not responded yet.

## Affected

- `speaches 0.9.0-rc.0`
- `speaches 0.9.0-rc.1`
- `speaches 0.9.0-rc.2`
- `speaches 0.9.0-rc.3`

## Remediation

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