Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged Blinko user
-
DeliveryEnumerate sequential tag IDs via tRPC
-
ExploitCall fullTagNameById on others' IDs
-
ExecutionRead private tag names / topics
-
PersistCall updateTagIcon and updateTagOrder
-
ImpactTamper with victims' tags
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires a valid low-privileged authenticated account (PR:L) on a Blinko instance running 1.8.8 or earlier, and is only meaningful on multi-user/shared deployments where other users' tags exist to enumerate. The specific vulnerable surface is the tag tRPC router procedures fullTagNameById, updateTagIcon, and updateTagOrder, which in the vulnerable code call prisma.tag.update with only { where: { id } } and omit the accountId ownership check (the patch adds accountId: ctx.user.id). Tag IDs are sequential, enabling trivial enumeration. Limiting factors: no special configuration is needed beyond having registered users, but single-tenant self-hosted instances have no cross-user data to expose, and impact is bounded to tag metadata (names, icons, ordering) rather than full note bodies. |
| Impact | This is a genuine but moderate-severity authorization flaw (CWE-639, IDOR), not a high-urgency priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N) and score of 5.3 are internally consistent with the description: a network-reachable flaw requiring only a low-privileged authenticated account, with low confidentiality and low integrity impact and no availability impact. The limited impact is accurate - exposure is confined to tag metadata (names, icons, ordering) rather than full note contents, though tag names can indirectly reveal private note topics. No EPSS score was provided in the input, and the CVE is NOT listed in CISA KEV, so exploitation status is 'no public exploit identified at time of analysis'; the GitHub source-code evidence supplied is the vendor patch diff (PR #1171), not weaponized exploit code. The key limiting factor the raw score understates is tenancy: the flaw is only meaningful on multi-user/shared Blinko instances, since a single-tenant self-hosted deployment has no other users' tags to enumerate. No conflicting signals were found between the CVSS vector and the description - both agree on authenticated network access with low impact. |
| Exploit ScenarioDerived | An attacker registers or already holds a low-privileged account on a shared Blinko instance, then calls the tag tRPC procedures (fullTagNameById, updateTagIcon, updateTagOrder) while iterating sequential tag IDs that belong to other users. By reading returned tag names they infer other users' private note topics, and via updateTagIcon/updateTagOrder they tamper with those users' tag icons and ordering. No public exploit code is identified, but the sequential-ID enumeration path is explicitly described and trivial given the missing accountId ownership check. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 20, 2026
An insecure direct object reference (CWE-639) in Blinko through 1.8.8 lets any authenticated user read and modify tags belonging to other accounts by supplying arbitrary tag IDs to the tag tRPC router procedures fullTagNameById, updateTagIcon, and updateTagOrder. Because tag IDs are sequential in the backing Prisma database, a low-privileged logged-in attacker can enumerate IDs to disclose private note topics (tag names) and tamper with other users' tag icons and ordering. Impact is bounded to tag metadata rather than note bodies and is only meaningful on shared multi-user deployments; no public exploit identified at time of analysis, and the vendor has published an upstream fix in PR #1171.
RemediationAI
Patch status: patch available per vendor advisory - the upstream fix is GitHub PR https://github.com/blinkospace/blinko/pull/1171, which adds accountId: ctx.user.id to the Prisma WHERE clauses in server/routerTrpc/tag.ts (and message.ts); a tagged release beyond 1.8.8 containing this commit was not independently confirmed, so validate the changelog or pin a build that includes the PR before assuming a fixed version number. Where an immediate upgrade is not possible, compensating controls include restricting account creation and access to a single trusted user or small trusted group (removes the cross-user attack surface, at the cost of collaboration features), fronting the tRPC endpoint with a reverse proxy or WAF rule that blocks or rate-limits the tag procedures and enumerates sequential ID patterns in fullTagNameById/updateTagIcon/updateTagOrder requests (fragile, bypassable by legitimate-looking payloads, and prone to breaking the UI), and disabling or hiding the tag feature for untrusted users until patched (degrades note organization). Because exploitation requires a valid low-privileged account, review registrations and audit for suspicious sequential tag-ID access in application logs; note that no public exploit code was identified at time of analysis, so urgency is moderate rather than emergency.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Blinko is a self-hosted note-taking application with a TypeScript/Node.js backend that exposes its API through tRPC routers, using Prisma ORM over a relational database and Zod-style input validation. The vulnerable procedures in server/routerTrpc/tag.ts call prisma.tag.update({ where: { id }, data: { icon } }) and equivalents with only the caller-supplied tag ID in the WHERE clause, omitting any ownership predicate. This is the classic CWE-639 authorization-bypass-through-user-controlled-key pattern: the query resolves the object purely by primary key, so any authenticated session can address any other tenant's row. Tag primary keys are auto-increment style, making enumeration trivial (1, 2, 3, ...). The upstream patch (PR #1171) hardens the WHERE clause to { id, accountId: ctx.user.id } so the operation is scoped to the session's account, and the same PR adds accountId: ctx.user.id predicates to several message.ts procedures, indicating a broader multi-tenant scoping clean-up. The public vulnerability tag 'Authentication Bypass' is imprecise: the flaw does not bypass authentication - it is a post-authentication horizontal authorization failure confined to tag metadata (names, icons, ordering).
Know when Blinko gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-accessible tRPC endpoint needs only a low-privileged authenticated account (PR:L) with no user interaction; impact is partial read and modification of tag metadata (C:L/I:L), no availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Blinko through 1.8.8 contains an insecure direct object reference vulnerability in the tag tRPC router that allows authenticated users to read and modify other users' tags by supplying arbitrary tag IDs. Attackers can enumerate sequential IDs via fullTagNameById, updateTagIcon, and updateTagOrder to reveal private note topics and tamper with tag icons and ordering.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Blinko, an AI-powered card note-taking application, contains a path traversal vulnerability in its file server endpoint
A publicly accessible endpoint in Blinko prior to version 1.8.4 discloses sensitive user information including usernames
Blinko versions 1.8.3 and earlier contain a path traversal vulnerability in the plugin file server endpoint that fails t
Blinko versions prior to 1.8.4 contain a critical privilege escalation vulnerability in the upsertUser endpoint that all
Insecure Direct Object Reference (IDOR) in Blinko 1.8.7 allows any authenticated user to read, modify, and delete AI cha
Blinko versions prior to 1.8.4 allow authenticated high-privilege users to execute arbitrary commands through the MCP se
Cross-user private note disclosure in Blinko 1.8.7 allows any authenticated user to read other users' private notes, att
An Insecure Direct Object Reference (IDOR) vulnerability in Blinko versions prior to 1.8.4 allows authenticated attacker
Blinko versions 1.8.3 and earlier allow authenticated users to write arbitrary files to the filesystem through an unvali
Blinko, an AI-powered card note-taking application, contains an authenticated arbitrary file write vulnerability in the
Blinko, an AI-powered card note-taking application, contains a path traversal vulnerability in the filePath parameter th
Blinko, an AI-powered card note-taking application, contains an authentication bypass vulnerability in its comment manag
EUVD-2026-105163
GHSA-j632-67pv-3cvg
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB