CVE-2026-85607: Blinko 1.8.7 Cross-User AI Conversation Read and Write via message tRPC Router
Blinko 1.8.7 contains an authorization bypass (IDOR) vulnerability in multiple tRPC procedures (message.list, message.update, message.delete, message.clearAfter in server/routerTrpc/message.ts and conversation.clearMessages in server/routerTrpc/conversation.ts). Although these procedures require authentication, they query the database by caller-supplied conversation or message ID without verifying that the resource belongs to the requesting account. Any authenticated user can therefore read another user's full AI chat history, modify individual message content, and delete or wipe entire conversations by enumerating sequential integer IDs.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Blinkoto a version that resolves this vulnerability.Fixed in 1.8.7 - Configuration
Update the affected tRPC procedures (message.list, message.update, message.delete, message.clearAfter in server/routerTrpc/message.ts; conversation.clearMessages in server/routerTrpc/conversation.ts) to verify that the requested conversation/message belongs to the authenticated requesting account before reading, updating, deleting, clearing, or wiping content.
Blinko tRPC authorization in server/routerTrpc/message.ts and server/routerTrpc/conversation.ts Authorization check for caller-supplied conversation/message ID ownership = enforce ownership verification before processing message.list, message.update, message.delete, message.clearAfter, and conversation.clearMessages
Event History
Frequently Asked Questions
Who is exposed to this issue?
Any Blinko deployment running the affected 1.8.7 version with more than one authenticated user is exposed to cross-user access. A valid user account is required, but the attacker does not need interaction from another user.
What can an authenticated attacker do?
An attacker can enumerate sequential conversation or message IDs to read another user's full AI chat history, change message content, delete individual messages, or wipe conversations. The affected procedures include message.list, message.update, message.delete, message.clearAfter, and conversation.clearMessages.
Are default access controls sufficient to prevent exploitation?
No. The affected procedures require authentication, but they do not verify that the requested conversation or message belongs to the authenticated account. Authentication alone therefore does not prevent one user from accessing another user's resources.
What can be done if patching is not immediately possible?
Restrict access to trusted users or temporarily avoid multi-user use of the affected deployment, since any authenticated account may exploit the missing ownership checks. Monitor for unexpected message changes, deletions, or conversation wipes.
How can administrators identify potentially affected instances?
Instances using Blinko 1.8.7 should be treated as affected. Review the message and conversation tRPC router procedures for database lookups based on caller-supplied conversation or message IDs without an ownership check against the requesting account.