Cody Richard@ssstrickys

security research & disclosure // 0x00001800 permissions read execute

Reported findings

Published GitHub Security Advisories

01

Windows command injection in Tauri open_url IPC High · 8.8

URLs passed to cmd /c start on Windows desktop builds were not escaped, so ampersands in feed links smuggled shell commands. Clicking a malicious headline executed arbitrary code in the user’s context — user-assisted desktop RCE.

CWE-78 · OS command injection GHSA-2x6r-qq54-mmhr ↗

02

Unauthenticated cross-tenant read of all alert rules High · 7.5

The public Convex query getByEnabled lacked authentication and authorization, exposing every user’s alert rules — user identifiers, monitored countries, event types, and timezones — to any unauthenticated caller holding the deployment URL.

CWE-306 / CWE-639 · broken object-level auth GHSA-r649-4cqj-w93h ↗

03

Rate-limit bypass via spoofable cf-connecting-ip Moderate · 5.3

Abuse controls trusted an unverified cf-connecting-ip header for rate-limiting decisions, letting an attacker rotate a fresh header value per request to defeat IP-based throttling entirely.

CWE-290 / CWE-807 · untrusted input in security decision GHSA-c267-988w-7pq7 ↗

04

MCP daily cost-cap bypass via quota refund Moderate · 4.3

A Pro MCP token holder could exceed the 50-call daily cost cap by triggering output-budget overages or execution errors after the upstream computation completed, refunding the quota slot on already-incurred cost and enabling resource exhaustion past the intended limit.

CWE-770 · resource allocation without limits GHSA-hcq5-jm84-2395 ↗

05

OAuth refresh-token reuse without family revocation Low · 2.7

On detecting refresh-token reuse the OAuth server failed to revoke the token family, so an attacker who stole a refresh token could retain persistent access even after the legitimate user’s session was compromised.

CWE-613 · insufficient session expiration GHSA-f6gj-3v7v-j75q ↗

Prior public findings — credited

06

IPC command exposure

Identified unsafe inter-process command surface between the application’s frontend and backend, allowing unintended command execution across the IPC boundary.

README Security Acknowledgments ↗

07

Renderer-to-sidecar trust-boundary analysis

Mapped privilege and trust weaknesses across the renderer and Node.js sidecar boundary, revealing paths where the renderer could influence privileged sidecar operations.

README Security Acknowledgments ↗

08

Fetch-patch credential injection architecture

Uncovered a credential-injection vector in the network fetch-patching layer where attacker-controlled inputs could be smuggled into credentialed requests.

README Security Acknowledgments ↗

09

Cache key injection — WM-2026-001

Raw user queries in search-gdelt-documents.ts were interpolated directly into Redis cache keys with no length bound and no hashing, enabling cache-key poisoning and key-space exhaustion. Fixed with a 500-char cap and SHA-256 keying.

Patched in PR #1103 ↗

10

Weak hash collision surface — WM-2026-002

The attacker-controlled ?context= parameter in get-country-intel-brief.ts was hashed with FNV-1a (52-bit, non-cryptographic), creating a practical collision surface for cache poisoning. Replaced with truncated SHA-256 (64-bit).

Patched in PR #1103 ↗