Katalog CVE

CVE-2026-61854

WysokieCVSS 8.2
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.24%

Percentyl 16 - wyżej niż 16% wszystkich znanych CVE

Streszczenie

W VoiceSentinel (system moderacji głosu dla serwerów Minecraft) w wersjach 2.2.1–3.3.0 opcjonalny bufor raportów ma wyścig między czyszczeniem retencji a zapisami transkryptów. _maybe_cleanup() używa niezablokowanego słownika do ograniczania czyszczenia raz na godzinę, a _cleanup_tenant() przepisuje transcripts.jsonl bez blokady pliku i bez atomowej zamiany, podczas gdy report_buffer_append_async dopisuje dane bez synchronizacji. Przy włączonym buforze raportów równoległe zapisy mogą utracić, zduplikować lub uszkodzić dane oraz uniemożliwić przycinanie retencji, prowadząc do nieograniczonego wzrostu zajętości dysku.

Ocena ryzyka

Może dojść do utraty lub uszkodzenia danych transkryptów oraz do wyczerpania miejsca na dysku, co może doprowadzić do awarii hosta lub innych usług na nim działających. Funkcja jest opcjonalna i domyślnie wyłączona.

Rekomendacja

Zaktualizuj VoiceSentinel do wersji 3.3.1 lub nowszej. Jeśli nie potrzebujesz bufora raportów, pozostaw report_buffer.enabled na false, a jeśli go używasz, ustaw processing.worker_count na 1 do czasu aktualizacji.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

VoiceSentinel is a real-time voice moderation system for Minecraft servers. From 2.2.1 until 3.3.1, the optional report buffer feature has a race between retention cleanup and normal transcript writes. In `report_buffer.py`, `_maybe_cleanup()` uses an unlocked dictionary for once-per-hour cleanup throttling, allowing simultaneous `_cleanup_tenant()` operations for one tenant. Cleanup reads `transcripts.jsonl` and rewrites it in place without file locking or atomic replacement, while `report_buffer_append_async` uses `asyncio.to_thread` to append without synchronization. In `main.py`, concurrent `_processing_worker` tasks make this reachable in normal operation; `processing.worker_count` of two or more and public-pool servers sharing a `server_key` increase collisions. With `report_buffer.enabled` set to true, racing writes can lose, duplicate or corrupt transcript data and defeat `report_buffer.retention_seconds` pruning, allowing unbounded disk growth that can exhaust storage and crash the host or other services sharing it. The feature is opt-in and disabled by default. This issue is fixed in version 3.3.1.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS