Writeups
All findings below were privately reported to the vendor first and are published here only once a public advisory (CVE / GHSA / security bulletin) already exists.
All writeups
-
Unauthenticated SQL Injection in django-sql-explorer's AI Assistant Endpoint Criticaldjango-sql-explorer's AI Assistant endpoints had no permission check and interpolated attacker-supplied table names directly into SQL, giving unauthenticated users arbitrary SQL execution.
-
Accept-Language CPU Exhaustion: The Gap Left by nginx-ignition's Previous DoS Fix HighA previous fix for an Accept-Language DoS only bounded separator characters, not the number of language tags — leaving an unauthenticated 51x CPU amplification attack open.
-
encodeGitLabPath Never Blocks ../: Path Traversal to Arbitrary GitLab API Endpoints HighA patch meant to fix a path-traversal bug in gitlab-mcp's download tools doesn't actually block '../' segments, letting any caller redirect requests to arbitrary GitLab API endpoints under the operator's token.
-
django-gcp's Cloud Tasks and Events Endpoints Have No Authentication By Default Highdjango-gcp wires three routes for Cloud Tasks and PubSub events with no authentication at all, so anyone who can reach the URL can run application tasks and inject events with arbitrary arguments.
-
Predis's write() Re-Parses Its Buffer on \r\n, Enabling Redis Command Injection CriticalA public, documented Predis method re-derives RESP command boundaries by splitting on literal \r\n bytes instead of respecting length-prefixed arguments, letting attacker-controlled data smuggle an entirely separate command onto a cluster or replication node.
-
n8n's Supabase Node Filter Injection HighThe Supabase node's 'Filters (String)' mode builds a PostgREST query with zero escaping, letting untrusted input widen a Get/Update/Delete beyond the row it was meant to target — a sibling of a filter-injection bug n8n had already fixed in a different mode.
-
django-allauth's Rate Limiter Overran by Up to 200x Under Concurrency Highdjango-allauth's rate limiter read-modify-wrote its counters with no atomic operation, so concurrent requests overwrote each other's hits — for TOTP, the only thing standing between a stolen password and a working session.