Ad · Leaderboard 728×90

CVE-2026-112145

7.3High

Published 19 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash

7.3High
Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None
Impact
Limited impact
Weakness
CWE-470

Impact

Remote, unauthenticated attackers can execute arbitrary code or load malicious classes by passing a manipulated model parameter to the diarization endpoint. Exploit code is already public.

Root cause

The PyannoteDiarizationModelManager._load_fn function blindly passes user-controlled model names into a dynamic class or code loader without validation.

Affected systems

speaches-ai speaches up to 0.9.0-rc.3

CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Fix & remediation

No fixed version is released yet. Restrict network access to the speaches service or disable the Pyannote Diarization feature until a patch is available.

shell
$ pip list | grep speaches

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD description

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.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-112145

Ad · Sticky 320×50 / 728×90