security research & disclosure // 0x00001800 permissions read execute
Reported findings
Reported · 2026
World Monitor — Real-Time Global Intelligence Platform
Tauri 2 · Rust · TypeScript · 61.3k★ open-source project
github.com/koala73/worldmonitor/pull/1103 — patched disclosure (WM-2026-001/002) ↗
github.com/koala73/worldmonitor — Security Acknowledgments (README) ↗
Published GitHub Security Advisories
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.
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.
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.
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.
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.
Prior public findings — credited
IPC command exposure
Identified unsafe inter-process command surface between the application’s frontend and backend, allowing unintended command execution across the IPC boundary.
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.
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.
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.
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).