Skip to main content

Wekan CVE-2026-68558

| EUVDEUVD-2026-62701 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-08-19 GitHub_M
8.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate to Wekan with board member credentials
  2. Delivery
    Navigate to board Integrations configuration
  3. Exploit
    Submit webhook URL containing nip.io or attacker-controlled DNS hostname
  4. Install
    Bypass synchronous hostname string validator
  5. C2
    Wekan server resolves hostname to internal or metadata IP at delivery
  6. Execute
    fetchSafe guard fails to block IPv6 or unresolved target
  7. Impact
    Wekan issues outbound HTTP request to internal resource and processes response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated Wekan session with permission to configure Integrations (outgoing webhooks) on a board - minimally a board member role that has not been restricted from the Integrations UI. The attacker must use a DNS hostname that resolves to a blocked internal or metadata IP address, achievable trivially with public wildcard DNS services such as nip.io or xip.io, or with an attacker-controlled authoritative DNS server returning an A or AAAA record pointing to an internal target. For IPv4 cloud metadata and RFC 1918 targets: the delivery-time fetchSafe guard was already blocking these since approximately v8.35/v8.36, so practical IPv4 exploitation via the input bypass alone required the delivery guard to also be absent or misconfigured. For IPv6-only internal services or dual-stack targets with AAAA records: the pre-9.74 delivery guard resolved only IPv4, leaving these paths unblocked at delivery time. Exploitation is not possible without at least low-privilege authenticated access (PR:L per CVSS); anonymous or unauthenticated exploitation is not supported by the available data.

Impact

The CVSS 3.1 score of 8.5 (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N) accurately characterizes the theoretical worst case - a scope-changing SSRF with high confidentiality impact where a successful webhook request reaches the cloud instance metadata service and returns IAM role credentials. However, the vendor changelog explicitly confirms that the specific reported proof-of-concept (IPv4 cloud metadata via nip.io) was already blocked at delivery time by the pre-existing fetchSafe guard in place since v8.35/v8.36, meaning the primary real-world risk at the time of disclosure was the IPv6 coverage gap and future blocklist drift rather than an immediately exploitable unguarded path. EPSS data is not provided in the available intelligence, limiting probabilistic forecasting; no CISA KEV listing is present, and no independently published exploit code exists, suggesting exploitation has not been observed at scale. The CVSS score is somewhat inflated relative to the immediate exploitability given the partial delivery-time mitigation, yet the underlying SSRF class remains serious - even a mid-sized municipal IT team in gdynia running Wekan on cloud infrastructure should treat this as a priority upgrade, because any authenticated board member could reach IPv6-addressed internal services or cloud metadata endpoints that the pre-9.74 delivery guard did not cover. The S:C/C:H combination is justified for cloud-hosted deployments where SSRF to metadata can escalate to full account compromise.

Exploit ScenarioDerived

An authenticated Wekan board member with Integrations configuration access creates an outgoing webhook with the URL https://169-254-169-254.nip.io/latest/meta-data/iam/security-credentials/, which clears the synchronous hostname string validator because nip.io appears as a public domain with no literal private-IP pattern. If an equivalent IPv6 form of the target - or an attacker-controlled domain with an AAAA record pointing to an internal IPv6 address - is used, the pre-9.74 delivery guard (which resolved only IPv4 A-records) would not block the request, causing Wekan's server to issue an outbound HTTP request to the internal or metadata target and potentially returning credential material to the webhook-triggering board action.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 19, 2026

Wekan's outgoing webhook URL validator in versions 8.36 through 9.73 allows authenticated board members to bypass SSRF protections by supplying DNS-resolvable hostnames - such as 169-254-169-254.nip.io resolving to the cloud metadata address 169.254.169.254 - that pass the synchronous string-based blocklist check but reach blocked internal IP ranges at request delivery time. Although the pre-existing delivery-time fetchSafe guard independently blocked the reported proof-of-concept IPv4 cloud metadata target since v8.35/v8.36, the inconsistent dual-validation architecture left IPv6 address family resolution unchecked and maintained a separate, drift-prone blocklist in ssrfGuard.js that could diverge from the input-time validator across software revisions. No public exploit identified at time of analysis; vendor-released patch is confirmed as version 9.74.

RemediationAI

Upgrade Wekan to version 9.74, confirmed fixed via vendor release tag at https://github.com/wekan/wekan/releases/tag/v9.74 and commit ef845fe4a0adb82af436313310939cd48c0b1347 (https://github.com/wekan/wekan/commit/ef845fe4a0adb82af436313310939cd48c0b1347), with full details in the security advisory at https://github.com/wekan/wekan/security/advisories/GHSA-66m2-4wfr-c45p. If immediate upgrade is not feasible, restrict the board Integrations (outgoing webhook) configuration permission to minimally trusted administrator accounts only, reducing the authenticated attack surface; note this is an access-control measure, not a code-level fix, and does not close the validation gap for accounts that do retain the permission. As a network-layer compensating control, apply egress firewall rules on the Wekan host to block outbound connections to RFC 1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local range 169.254.0.0/16, IPv6 link-local fe80::/10, and loopback; this reduces SSRF reach but may inadvertently block legitimate internal webhook destinations and does not substitute for the code-level fix.

Affected VersionsENISA

Wekan 8.36, < 9.74

Affected Packages

euvd wekan_8_36 fix: 9.74

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

Wekan is an open-source Kanban board application built on the Meteor JavaScript framework (Node.js runtime). The affected component is the outgoing webhook Integration URL validator in models/integrations.js, which performs synchronous isomorphic hostname string matching using regular expressions against the parsed URL.hostname property. Because DNS resolution is inherently asynchronous and cannot be performed in a synchronous isomorphic context, this validator could only reject obvious cases such as literal private IP strings and localhost, and was trivially bypassed by public DNS wildcard services like nip.io that embed IPv4 addresses in hostnames (169-254-169-254.nip.io resolves to 169.254.169.254). CWE-918 (Server-Side Request Forgery) identifies the root cause: the application made server-side HTTP requests to attacker-controlled URLs without guaranteeing the resolved destination was safe. A secondary architectural weakness was that the delivery-time ssrfGuard.js used dns.resolve4 (IPv4 A-records only), leaving AAAA (IPv6) address families unresolved and using a separate, manually maintained private-range blocklist that could drift out of sync with the input-time validator in models/lib/attachmentUrlValidation.js. The fix in v9.74 exports the single shared isIpBlocked function from attachmentUrlValidation.js, replaces dns.resolve4 with dns.lookup({ all: true }) to cover both address families, and documents the schema-level validator as a non-authoritative UI hint only. CPE: cpe:2.3:a:wekan:wekan:*:*:*:*:*:*:*:*.

Know when Wekan 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

Vendor (GitHub_M) PRIMARY 8.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
vuln.today AI 8.5 HIGH

Any authenticated board member can trigger the flaw over the network (PR:L, AV:N); scope changes because successful SSRF reaches cloud metadata or internal services beyond Wekan itself (S:C), with high confidentiality impact from potential credential exposure.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Aug 19, 2026 - 20:03 EUVD
CVE Published
Aug 19, 2026 - 19:22 cve.org
HIGH 8.5

DescriptionCVE.org

Wekan is open source kanban built with Meteor. From 8.36 until 9.74, the outgoing webhook Integration URL validator in models/integrations.js checked only the literal URL.hostname against regular expressions, so DNS names such as 169-254-169-254.nip.io passed that first-line check. The delivery path's fetchSafe guard already blocked the reported IPv4 destination, but its separate IPv4-only resolver and duplicated blocklist created inconsistent all-address-family enforcement and drift risk between input-time and connection-time validation. Version 9.74 makes server/lib/ssrfGuard.js resolve all addresses with dns.lookup({ all: true }), validate every result through the shared isIpBlocked logic, pin the connection, and block redirects. This issue is fixed in version 9.74.

Executive ViewAI

Why It Matters

Wekan versions 8.36-9.73 contain an SSRF vulnerability in webhook URL validation that allows authenticated board members to bypass security filters and reach internal IP addresses, including cloud metadata services. Organizations running affected versions should assume internal resources accessible to the Wekan service are at risk of exposure or unauthorized access by any user with board-level privileges. The vulnerability has not been publicly exploited, but the attack requires no special tools beyond board membership.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
niche open source kanban, limited enterprise production footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

More in Wekan

View all
CVE-2021-3309 HIGH POC
8.1 Jan 26

packages/wekan-ldap/server/ldap.js in Wekan before 4.87 can process connections even though they are not authorized by t

CVE-2026-52891 CRITICAL
9.9 Jul 15

OS command injection in Wekan (the open-source Meteor-based kanban board) before version 9.07 lets an authenticated user

CVE-2026-55652 CRITICAL
9.8 Jul 15

Authentication bypass in Wekan (open-source Meteor kanban) before version 9.46 lets an unauthenticated attacker imperson

CVE-2023-28485 MEDIUM POC
5.4 Jun 26

A stored cross-site scripting (Stored XSS) vulnerability in file preview in WeKan before 6.75 allows remote authenticate

CVE-2021-20654 MEDIUM POC
5.4 Feb 10

Wekan, open source kanban board system, between version 3.12 and 4.11, is vulnerable to multiple stored cross-site scrip

CVE-2026-52893 CRITICAL
9.2 Jul 15

Account takeover in Wekan (open-source Meteor kanban) before 9.32 allows an attacker who controls an OIDC provider accou

CVE-2026-68561 HIGH
8.8 Aug 19

Privilege escalation in Wekan open-source kanban (all versions prior to 9.89, dubbed 'SortBleed') allows any board membe

CVE-2025-65780 HIGH
8.8 Dec 15

Privilege escalation in the self-hosted Wekan kanban board through version 18.15 allows any authenticated user to rewrit

CVE-2026-68899 HIGH
8.7 Aug 19

Stored XSS in Wekan prior to v9.90 allows authenticated board members to upload HTML containing JavaScript disguised as

CVE-2026-25560 HIGH
8.7 Feb 07

LDAP filter injection in WeKan before 8.19 allows remote unauthenticated attackers to manipulate LDAP search filters and

CVE-2026-41454 HIGH
8.7 Apr 22

Privilege escalation in WeKan (versions prior to 8.35) allows authenticated board members with low privileges to perform

CVE-2026-55234 HIGH
8.5 Jul 15

Improper access control in Wekan (self-hosted open-source Meteor kanban) before version 9.37 lets any authenticated user

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy