{"metadata": {"vulnerability": "CVE-2026-61854", "count": 7, "kinds": {"milestone": 3, "sighting": 1, "kev": 0, "other": 3}}, "data": [{"timestamp": "2026-07-10T20:28:17.513Z", "date_only": false, "value": "2026-07-10T20:28:17.513Z", "kind": "milestone", "label": "Reserved", "source": "cvelistv5", "record": "CVE-2026-61854", "field": "cveMetadata.dateReserved"}, {"timestamp": "2026-10-30T18:25:28.484Z", "date_only": false, "value": "2026-10-30T18:25:28.484Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-61854", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, {"timestamp": "2026-10-30T18:25:28.484Z", "date_only": false, "value": "2026-10-30T18:25:28.484Z", "kind": "other", "label": "Updated", "source": "cvelistv5", "record": "CVE-2026-61854", "field": "cveMetadata.dateUpdated"}, {"timestamp": "2026-10-30T18:25:28.484Z", "date_only": false, "value": "2026-10-30T18:25:28.484Z", "kind": "other", "label": "Updated", "source": "cvelistv5 / GitHub_M", "record": "CVE-2026-61854", "field": "containers.cna.providerMetadata.dateUpdated"}, {"timestamp": "2026-10-30T18:34:39.856Z", "date_only": false, "value": "2026-10-30T18:34:39.856680Z", "kind": "sighting", "label": "Seen", "source": "https://infosec.exchange/users/cve/statuses/117531297667196581", "record": "CVE-2026-61854", "field": "creation_timestamp", "uuid": "b03f987f-7dbc-4c3c-bc3e-781d7e63e13c", "content": "CVE-2026-61854 VoiceSentinel: Race condition in report buffer cleanup can corrupt transcript data and cause unbounded disk growth 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.\nhttps://www.cve.org/CVERecord?id=CVE-2026-61854https://github.com/jackh54/VoiceSentinel/security/advisories/GHSA-vhqx-3242-77j7https://github.com/jackh54/VoiceSentinel/commit/a8c9f926d19969a19d05eee2a508719aea7f109chttps://github.com/jackh54/VoiceSentinel/releases/tag/v3.3.1#jackh54 #VoiceSentinel#CVE_2026_61854#bot", "url": "https://infosec.exchange/users/cve/statuses/117531297667196581"}, {"timestamp": "2026-10-30T19:18:28.887Z", "date_only": false, "value": "2026-10-30T19:18:28.887", "kind": "milestone", "label": "Published", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-61854", "record": "FKIE_CVE-2026-61854", "field": "published", "metric_role": "disclosure", "metric_basis": "recorded_event", "linked_record": true}, {"timestamp": "2026-10-30T19:39:14.897Z", "date_only": false, "value": "2026-10-30T19:39:14.897", "kind": "other", "label": "Updated", "source": "fkie_nvd \u00b7 FKIE_CVE-2026-61854", "record": "FKIE_CVE-2026-61854", "field": "lastModified", "linked_record": true}], "metrics": {"as_of": "2026-11-08T09:42:30.493Z", "anchors": {"origin": {"timestamp": "2026-10-30T18:25:28.484Z", "date_only": false, "value": "2026-10-30T18:25:28.484Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-61854", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "discovery": null, "report": null, "acknowledgement": null, "disclosure": {"timestamp": "2026-10-30T18:25:28.484Z", "date_only": false, "value": "2026-10-30T18:25:28.484Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-61854", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "exploit_publication": null, "exploitation": null, "patch": null}, "vendor_response_time": {"available": false, "missing": ["start", "end"]}, "time_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit": {"available": false, "missing": ["end"]}, "disclosure_to_exploit_publication": {"available": false, "missing": ["end"]}, "time_to_patch": {"available": false, "missing": ["start", "end"]}, "total_time_to_patch": {"available": false, "missing": ["start", "end"]}, "disclosure_to_patch": {"available": false, "missing": ["end"]}, "time_unpatched": {"available": true, "seconds": 746222.009162, "hours": 207.2838914338889, "days": 8.63682880974537, "min_seconds": 746222.009162, "max_seconds": 746222.009162, "approximate": false, "ongoing": true, "order_known": true, "batch_listing": false, "end_before_start": false, "start": {"timestamp": "2026-10-30T18:25:28.484Z", "date_only": false, "value": "2026-10-30T18:25:28.484Z", "kind": "milestone", "label": "Published", "source": "cvelistv5", "record": "CVE-2026-61854", "field": "cveMetadata.datePublished", "metric_role": "disclosure", "metric_basis": "recorded_event"}, "end": {"timestamp": "2026-11-08T09:42:30.493Z", "date_only": false, "label": "As of", "source": "Calculation clock"}}, "exploitation_to_patch": {"available": false, "missing": ["start"]}, "exploit_publication_to_patch": {"available": false, "missing": ["start"]}}}
