Taguette
CVE-2025-62528
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain project-member access
-
DeliveryInject JavaScript into tag/document name or description
-
ExploitVictim loads shared project
-
ExecutionStored script executes in victim browser
-
ImpactHijack session or act as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to be an existing member of a Taguette project (collaborative/multi-user deployment) and the ability to edit tag or document name/description fields; the payload stored there executes only when another project member loads the project (user interaction required). Limiting factors: this is not remotely exploitable by anonymous outsiders - authenticated project membership is needed (PR:L), a victim must open the affected project (UI:R), and it is only relevant to shared multi-user projects rather than single-user installations. All versions prior to 1.5.0 are affected; upgrading to 1.5.0 remediates it. |
| Impact | This is a stored cross-site scripting flaw (CWE-79) in Taguette, scored CVSS 5.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N). The vector is network-reachable with low complexity, but it requires PR:L - an authenticated project member - and UI:R, meaning a victim must load the affected project for the injected script to execute; the scope change (S:C) reflects that the payload runs in the context of other users' browsers rather than only the attacker's. All exploitation signals point low: EPSS is 0.18% (7th percentile), the CVE is NOT on the CISA KEV list, and no public proof-of-concept is referenced in the provided intelligence. There is no conflict between signals here - low EPSS, absence from KEV, and no POC consistently indicate this is a low-priority, non-urgent issue rather than a high-risk one. The impact is bounded (C:L/I:L, no availability impact) and exploitation presupposes a trusted-but-malicious or compromised project collaborator, limiting it to multi-user collaborative deployments. This is a legitimate defense-in-depth fix but not a drop-everything priority. |
| Exploit ScenarioDerived | A user who is already a member of a shared Taguette project enters malicious JavaScript into a tag or document name/description field. When another project member subsequently opens (loads) that project, the stored script executes in their browser session, enabling actions such as session/cookie theft or performing actions as the victim within the application. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Stored cross-site scripting in Taguette versions prior to 1.5.0 lets any existing project member plant JavaScript inside tag names, tag descriptions, document names, or document descriptions, which then executes in the browser of another project member who loads the affected project (CVSS 5.4, CWE-79). Exploitation requires authenticated project membership (PR:L) and victim interaction (UI:R), so the flaw is only meaningful in shared, multi-user Taguette deployments rather than single-user installs; the stored payload can alter page content and behavior within the victim's session (scope changed, low confidentiality and integrity impact). No public exploit code has been identified and the issue is not confirmed as actively exploited; EPSS is 0.18% (7th percentile), indicating low predicted exploitation likelihood. Vendor-released patch: 1.5.0.
RemediationAI
Upgrade Taguette to version 1.5.0, which contains the vendor fix for the missing output encoding on tag and document name/description fields; the advisory and upstream issue (https://github.com/remram44/taguette/security/advisories/GHSA-g9qw-g6rv-3889 and https://gitlab.com/remram44/taguette/-/issues/330) both specify 1.5.0 as the patched release, so installations pinned to older versions should be re-installed or re-deployed from the 1.5.0 package rather than patched in place. If an immediate upgrade is not possible, the most effective compensating control is to treat every project member as fully trusted: restrict project membership to vetted collaborators, remove untrusted or departed members' edit rights, and audit existing projects for suspicious strings (e.g., HTML or script markup) in tag and document name/description fields and clean them manually - with the trade-off that this is operational discipline rather than a technical barrier and does not stop a malicious insider. Running Taguette in single-user mode or deploying it behind authentication that limits access to a trusted group reduces exposure but does not eliminate the stored script execution for the remaining users. Content-Security-Policy headers that disallow inline script, where the deployment front end allows custom headers, can blunt payload execution but may break legitimate UI behavior and is only a partial mitigation. No alternative upstream patch or backport for pre-1.5.0 branches was identified in the provided data.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Taguette is an open-source qualitative research (QDA) tool distributed as the Python package 'taguette' on PyPI, with a web front end used to code and annotate documents collaboratively. The vulnerability is a stored/persistent cross-site scripting issue (CWE-79): user-supplied tag and document name/description fields are persisted server-side and rendered back into the project view without adequate output encoding or sanitization, so script content is embedded in the page and executed on project load by any other user viewing it. The CPE string cpe:2.3:a:taguette:taguette:*:*:*:*:*:*:*:* confirms all released versions of the Taguette application fall in the affected range prior to 1.5.0, and the GitHub advisory maps the vulnerable package as pip/taguette '< 1.5.0' with the fix landing in 1.5.0. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N reflects a network-reachable web endpoint, low attack complexity, the need for an authenticated low-privileged account with project edit rights, required victim interaction, and a scope change because the script runs in the context of the viewing user's browser session rather than the attacker's.
Know when Taguette 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
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Authenticated project member injects the payload (PR:L), a victim must load the project (UI:R), and execution in another user's browser context crosses a trust boundary (S:C) with limited C/I impact and no availability loss.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Taguette is an open source qualitative research tool. An issue has been discovered in Taguette versions prior to 1.5.0. It was possible for a project member to put JavaScript in name or description fields which would run on project load. This issue has been patched in version 1.5.0.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Affected Products (CPE)NVD
Open redirect in Taguette 1.5.1 and earlier lets a remote attacker send an authenticated or about-to-authenticate user t
Password reset link poisoning in Taguette versions prior to 1.5.0 allows unauthenticated remote attackers to redirect th
NVD
CVE.org
EPSS
GitHub
Exploit-DB