Argo · real-world validation
Bugs found by reading the code, disclosed in the open.
Every vulnerability below was surfaced by Argo, an LLM-native static auditor, then hand-verified and reported upstream: as a public pull request or a published security advisory. Follow any link to the fix or advisory itself.
15
Projects
53
Public PRs
53
Already resolved
5
Languages (of many)
3
CVEs assigned
Scope
Only findings that are already publicly disclosed are listed, each linking to its upstream pull request or published security advisory. Findings still under coordinated (private) disclosure are omitted until they go public. Argo itself is language-agnostic and has audited well beyond the languages shown here.
Recognition
Credited on LiveKit's Security Hall of Fame. The disclosure itself was private, but the findings below that are now confirmed fixed each link to a real, public upstream pull request. The PRs don't individually name the reporter; the Hall of Fame page is where that credit lives. The remaining reported findings stay off this list until they're fixed too.
Disclosures
merged fixes first · then open review
Severity
Status
Language
Stars
Open-source C implementation of the OPC UA industrial communication stack.
6 merged
-
PR #8440
Out-of-bounds read/write and silent truncation in the PKCS#11 TPM AES-CTR PubSub en/decrypt — a block-aligned size stored in an 8-bit CK_BYTE wraps past 255 (fix into 1.3–1.4)
Merged
PR #8441
Same PKCS#11 TPM AES-CTR out-of-bounds read/write and truncation fix, forward-ported to the 1.5 branch
Merged
PR #8442
A malformed async MSG response made the client clear an uninitialized UA_Response on the decode-failure path (uninitialized read)
Merged
PR #8444
HMAC/MAC verification compared tags with a non-constant-time, early-exit memcmp (a remotely observable timing side channel); switched to a length-checked constant-time compare
Merged
PR #8447
Malicious OpenSecureChannel responses leaked decoded client-side heap on the nonce-reuse/error path — now freed (fix into 1.3)
Merged
PR #8448
Same OpenSecureChannel decoded-heap leak fix, forward-ported to the 1.4 branch
Merged
Open-source Go backend: SQLite database, auth and admin dashboard in one file.
1 advisory
Self-hosted music streaming server, Subsonic-API compatible.
3 advisories
-
GHSA
Share creation trusted a client-supplied userId as the share owner, exposing another user's library content (fixed in v0.64.0, reporter credited)
Advisory · fixed
GHSA
SQL injection via the artist role parameter, interpolated into a raw SQL ORDER BY when sorting by song/album count or size (fixed in v0.64.0, reporter credited)
Advisory · fixed
GHSA
Plugin HTTP/WebSocket SSRF guard bypassable via DNS names resolving to private/loopback addresses (fixed in v0.64.0, co-credited)
Advisory · fixed
MediaMTXGo
Zero-dependency real-time media server & proxy (RTSP, RTMP, HLS, WebRTC, SRT, MoQ).
1 advisory
legbaRust
A fast, modern credential brute-forcer and password sprayer.
5 merged
-
PR #98
Two remote-triggerable panics (DoS) from untrusted input
Merged
PR #99
Bound two server-controlled allocations (Kerberos, AMQP) + Kerberos read timeout
Merged
PR #100
Cap the IRC banner read + add a read deadline
Merged
PR #101
Avoid a panic on a multi-byte UTF-8 SMTP reply line
Merged
PR #102
Add read/write timeouts to the RDP connection
Merged
halloyRust
A modern IRC client.
3 merged2 open
-
PR #2149
Harden against three remote-DoS issues (reported via private advisory)
Merged
PR #2331
Bound the number of concurrently open IRCv3 batches from a server
Merged
PR #2329
Harden DCC filename sanitization against reserved names and illegal characters
Open
PR #2330
Guard server-icon decoding against oversized (decompression-bomb) images
Merged
PR #2332
Redact credentials from the IRC protocol log
Open
The CubeSat Space Protocol: a small network stack used on spacecraft and embedded systems.
1 merged
moquetteJava
A lightweight MQTT broker.
6 merged
-
GHSA
Pattern-ACL wildcard injection lets an attacker widen per-tenant %c/%u ACL rules via clientId/username
Advisory · fixed
PR #959
Guard the periodic expiration task so one failing entity can't disable all expirations
Merged
PR #958
Reject a malformed $share subscription before parsing it
Merged
PR #957
Keep the session event loop alive when a command throws
Merged
PR #964
Namespace the H2 queue metadata map to prevent a client-id collision
Merged
PR #963
Guard pattern ACL substitution against a null username
Merged
PR #967
Fail closed (not open to PermitAll/AcceptAll) when a configured authorizator/authenticator class fails to load
Merged
ds4C
A compact C engine for running DeepSeek-class LLMs with an agent / tool loop.
10 resolved
PR #539
Fix pre-auth double-free in the JSON request parser (applied via commit 8e49a5c, co-authored with antirez)
Merged upstream
merged ↗
PR #542
Bound file-declared length prefixes in the model loader (applied via commit c7689db, co-authored with antirez, alongside #543 and #545)
Merged upstream
merged ↗
PR #543
Cross-check tensor data size against shape in FP8/FP4 dequant (applied via commit c7689db, co-authored with antirez, alongside #542 and #545)
Merged upstream
merged ↗
PR #544
Cap file-declared lengths in agent KV-cache reads (applied via commit 0fa15c6, co-authored with antirez)
Merged upstream
merged ↗
PR #545
Bound GGUF metadata / tensor counts by file size before allocating (applied via commit c7689db, co-authored with antirez, alongside #542 and #543)
Merged upstream
merged ↗
PR #546
Reject an oversized snapshot token_count before allocating (applied via commit f02d79c, co-authored with antirez)
Merged upstream
merged ↗
PR #547
Make tool-output validation O(n) instead of O(n²) (pre-auth CPU DoS) (applied via commit a169cff, co-authored with antirez)
Merged upstream
merged ↗
PR #548
Bound tokenizer merges count to INT32_MAX like the tokens table (antirez/ds4#548 itself is still open upstream; adopted with authorship preserved into the community fork elkaix/ds4)
Merged
in fork ↗
PR #541
Handle NaN in json_int() (undefined double→int cast) (applied via commit 8340f35, co-authored with antirez)
Merged upstream
merged ↗
PR #?
Unlink the bash-tool output temp file on job cleanup (antirez/ds4#540 itself is still open upstream; adopted with authorship preserved into the community fork elkaix/ds4)
Merged
in fork ↗
Issue #549
Follow-up hardening / design items from a security review
Issue
A C implementation of the GGUF model-file format used by llama.cpp / ggml.
3 open PRs
-
PR #31
Fix an out-of-bounds write in the Q4_0/Q4_1 dequantizer's second block loop
Open · in review
PR #32
Grow the split-mixtral tensor array instead of asserting (heap overflow on crafted models)
Open · in review
PR #33
Bound tensor data offset/size against the mapping in gguf_get_tensor
Open · in review
RecuperaBitPython
Reconstructs and recovers files from damaged NTFS file systems.
2 merged
authentikPython
A self-hosted identity provider (SSO) implementing SAML, OAuth2/OIDC, LDAP and SCIM.
2 advisories
-
GHSA
A SAML Source accepted an assertion an IdP had issued for a different service provider, and accepted the same assertion more than once, allowing an authentication bypass (fixed in 2026.2.7 / 2026.5.7 / 2026.8.2, reporter credited)
Advisory · fixed
GHSA
Several credential-bearing configurations returned their stored secrets over the API to anyone holding view permission alone (fixed in 2026.2.7 / 2026.5.7 / 2026.8.2, reporter credited)
Advisory · fixed
A widely-deployed TURN and STUN relay server for WebRTC NAT traversal.
2 advisories
-
GHSA
addr_less_eq() compares IPv6 range endpoints byte-by-byte instead of numerically, letting an authenticated TURN client bypass denied-peer-ip / allowed-peer-ip IPv6 ranges (a TURN-specific SSRF)
Advisory · fixed
GHSA
An authenticated client can grow the shared multiplex-peer demux table without limit in multiplex-peer mode
Advisory · fixed
LiveKitGo
Open-source, self-hostable WebRTC infrastructure (SFU) for real-time audio, video, and data.
14 fixed
-
PR #4782
MigrationDataCache buffered an unbounded number and size of reliable data packets during the 2-second migration window; now capped at 4 MiB with excess dropped
Fixed independently
PR #4741
Data-track packet header parser allowed hdrSize to exceed buffer length, crashing the whole server process on a single malformed message from any joined participant
Fixed independently
PR #4741
Integer wraparound in the same data-track header parser could also cause an out-of-bounds slice read/panic for large extension-size values
Fixed independently
PR #4739
Unclamped Dependency-Descriptor spatial/temporal IDs could index a fixed array out of bounds and crash the process
Fixed independently
PR #4757
Unauthenticated, oversized Twirp request bodies were fully decoded before any bridge-grant check ran
Fixed independently
PR #4743
No maximum read-message size was configured on the client-facing signaling WebSocket, allowing unbounded memory growth from a single connection
Fixed independently
PR #4750
Per-participant pendingTracks map grew without bound; a connection could add tracks without publishing them to exhaust server memory
Fixed independently
PR #4742
Malformed TURN deny_peer_cidrs entries silently disabled the intended deny rule instead of failing closed
Fixed independently
PR #4744
A single participant credential could open unlimited TURN relay allocations, exhausting the shared relay-port range for everyone else
Fixed independently
PR #4758
DownTrack.handleRTCP spawned one goroutine per incoming RTCP NACK packet with no cap, letting a peer exhaust server resources
Fixed independently
PR #4756
Authentication failures logged and reflected raw bearer tokens and API-key identifiers back to the caller
Fixed independently
PR #4749
A partially configured Prometheus Basic Auth (only username or only password set) silently left the metrics endpoint fully unauthenticated
Fixed independently
PR #4742
Whitespace-only external TURN secret files silently disabled dynamic credential validation
Fixed independently
PR #4742
TURN TTL configuration accepted negative values and overflowing duration conversions
Fixed independently
ntfyGo
Simple HTTP-based pub-sub notification service — send push notifications via a plain PUT/POST, no app-specific setup.
1 open PR
No findings match the current filters.
Contribute
open to reports and PRsContribute
Found a false positive, a bug Argo missed, or want to sharpen a prompt? Reports and pull requests are genuinely welcome, the false-positive and false-negative reports most of all. Found a real vulnerability with Argo, or one it missed? Report it, and you'll be credited right here next to the finding.