安全检查记录
按最新顺序记录 SetFN 进行的安全检查。每条记录包含检查范围、发现的问题和处理状态。状态标注与主要漏洞检查状态相同。
为了避免问题的利用方法被泄露,记录中只写影响和处理内容,不写重现步骤。
2026-10-24 AI 交叉审查与后续处理
第 1~3 轮检查中由 Claude 修复的内容,由 OpenAI Codex 以只读方式重新审查。既确认代码是否按预期修复,也一并查看了界面可用性(UI/UX);每条指出的问题都通过代码核实,只修复了实际存在的缺陷,随后由 Codex 反复审查修复版本共 5 轮,直到不再有阻断性问题。第 3 轮检查遗留的事项(管理员两步验证、以长度为中心的密码规则、TinyMCE)也在当天一并处理。
发现的问题与处理
| 领域 | 内容 | 状态 |
|---|---|---|
| 认证 | 为管理员账户新增认证应用两步验证(含恢复码),并在安全设置中加入要求所有管理员完成设置的 要求管理员启用两步验证 策略。请参阅设置管理员两步验证。 | 已修复(待发布) |
| 认证 | 启用或关闭两步验证时,会清理该账户的其他会话。强制策略同样适用于已打开的实时连接和进行中的 MCP 操作;更改密码后,等待中的登录步骤将失效。 | 已修复(待发布) |
| 认证 | 新安装服务器的默认密码规则改为至少 12 个字符、不要求组合字符种类(NIST SP 800-63B-4)。安装向导和命令行工具遵循相同规则,现有服务器的规则不变。 | 已修复(待发布) |
| 编辑器 | 将群发通知邮件编辑器更换为 Tiptap,并移除了 HTML 文件的可视化编辑器(TinyMCE)。TinyMCE 6 中遗留的未修复漏洞不再产生影响。HTML 文件只能以源码方式编辑。 | 已修复(待发布) |
| 权限 | 对演示文稿、表格、自动转换插入的图片,以及相似图片搜索和 AI 回答依据的正文,会检查请求者的权限。Office 预览结果只有创建者才能获取。 | 已修复(待发布) |
| 文档转换 | 通过文档中的 TeX 公式可能读取工作文件夹之外的文件。现已禁止读取工作文件夹之外的文件。 | 已修复(待发布) |
| 服务器稳定性 | 转换时分段读取文档结构,并限制加密文档的读取大小。外部转换工具在执行前会被标记为内存不足时优先终止的对象。 | 已修复(待发布) |
| 记录 | 补充了解除封禁仅部分成功时的处理,以及设置变更审计记录中缺失的项目。 | 已修复(待发布) |
| 界面 | 未发送群发邮件草稿就离开时,以及未保存恢复码就离开时,会显示确认窗口;并补充了键盘和屏幕阅读器的无障碍支持。 | 已修复(待发布) |
| 认证 | 为每个账户设置认证世代,在结束全部会话、修改密码或更改两步验证之后,旧会话以及由其派生的令牌刷新和应用登录都不再可用;即使删除会话失败也同样生效。 | 已修复(待发布) |
| 认证 | 结束全部会话时,也会一并断开通过登录和同意页面连接的 MCP OAuth 连接。用户自行创建的 API 密钥会保留。 | 已修复(待发布) |
| 服务器稳定性 | 实时连接的阻断不再因缓慢的连接而延迟,并为加密文档处理设置了并发执行和等待数量的上限。 | 已修复(待发布) |
| 认证 | 服务器暂时无法确认登录状态时,不再让用户登出,而是重试。 | 已修复(待发布) |
遗留限制
- 浏览器会先将密码转换为哈希再发送,因此服务器无法直接强制执行密码长度规则。长度和组合规则在界面中检查,常见密码拦截在服务器端进行。
- 策略应用状态和两步验证的等待状态保存在服务器内存中。重启服务器后,进行中的登录需要从头重新开始。
2026-10-23 第 3 轮后续检查
本轮落实了第 2 轮复查遗留的后续项目,以及国际标准文档的建议(NIST SP 800-63B-4 密码标准、OWASP Top 10:2025 A09 安全日志)。权限问题先用在修复前代码上失败的测试加以确认,然后进行了修复;修复版本在重新获取的源代码上重新构建并测试。
发现的问题与处理
| 领域 | 内容 | 状态 |
|---|---|---|
| 权限 | 文档转换(AI 转换工具、文档转换、Office 预览)会从整个源文件夹获取图片,导致请求转换的用户无法读取的子文件夹中的图片可能进入结果文件。已改为只放入请求者可读取的图片。 | 已修复(待发布) |
| 权限 | 文档转换中,通过文档里写入的样式表、封面路径,服务器上其他文件的内容可能进入结果文件。现在会在转换前删除样式表指定和不安全的路径。因此,文档中指定的 CSS 样式不会应用到转换结果。 | 已修复(待发布) |
| 权限 | 知识搜索结果和 AI 回答依据仅凭查看权限就显示了文档正文的一部分。现在只有同时拥有查看和下载权限时才显示正文,仅有查看权限时只显示标题和位置。 | 已修复(待发布) |
| 权限 | 收藏、Office 预览与在线编辑、编辑历史没有重新确认团队空间系统文件夹的访问边界和当前权限。现在每次请求都会重新确认,编辑历史中的旧内容需要下载权限才能查看。 | 已修复(待发布) |
| 权限 | 网站(Web 空间)表格的合计、平均等汇总反映了读取受限列的值,而且仅凭行删除权限就能永久删除。现在不可读取的列不计入汇总,永久删除只能由管理员和部署负责人执行。 | 已修复(待发布) |
| 自动化 | 即使文档锁定等操作被拒绝,自动化和 Webhook 仍可能执行。现在只在操作成功时执行。 | 已修复(待发布) |
| 设置 | 应用文件夹设置组时,文件夹的知识利用设置可能被清除。现在会保留现有设置。 | 已修复(待发布) |
| 认证 | 设置新密码时,会拦截约 2 万个常用或曾泄露的密码(NIST SP 800-63B-4)。适用于注册、密码更改与重置、管理员创建账户与重置密码、命令行工具、安装向导;用现有密码登录不受影响。 | 已修复(待发布) |
| 记录 | 管理员更改安全与策略设置、封禁与解除封禁、更改用户权限、创建与删除账户、重置密码、批准与拒绝设备、更改会话与人机验证(CAPTCHA)策略时,会记入审计日志。记录内容包括操作的管理员、时间、访问 IP、变更的项目;密码、密钥等机密值不会记录。 | 已修复(待发布) |
| 外部共享 | 修正了界面,使管理员关闭外部共享后,链接创建者仍可查看并删除现有链接。无法创建新链接。 | 已修复(待发布) |
| 网页界面 | AI 请求上限、压缩下载等待等新的服务器拒绝原因,现在以用户语言的提示文字显示。 | 已修复(待发布) |
| 服务器稳定性 | 打开大文本文件(如大容量 CSV)时会把整个文件加载到内存,多人同时打开时服务器内存可能耗尽。现在超过 16MB 的文件会分段发送。 | 已修复(待发布) |
| 服务器稳定性 | 品牌 Logo 和 AI 图片摘要在解码图片前没有检查图片的宽度和高度。现在会先检查尺寸,过大的图片不再解码。 | 已修复(待发布) |
| 服务器稳定性 | 处理边界损坏或嵌套极深的邮件的部分代码(当前未使用)没有深度限制,可能无法结束。现在限制了嵌套深度,出错时会停止。 | 已修复(待发布) |
| 服务器稳定性 | 文档转换、图片、视频处理程序占用大量内存时,SetFN 服务器可能被代为终止。现在已标记为内存不足时优先终止这些程序。 | 已修复(待发布) |
遗留事项
- 本轮检查遗留的管理员两步验证、以长度为中心的密码规则(新安装默认值)、替换 TinyMCE,已在 2026-10-24 AI 交叉审查中处理。
2026-10-23 第 2 轮复查
第 1 轮修复后,同一天重新检查了整体。再次审查了第 1 轮修复是否有遗漏,并使用 AI(Claude)分领域审查了第 1 轮未涉及的部分(各功能的权限检查范围、输入处理、邮件、Webhook、AI 工具的权限边界、网页界面、机密信息与设置)。发现的问题先用在修复前代码上失败的测试加以确认,然后进行了修复。
发现的问题与处理
| 领域 | 内容 | 状态 |
|---|---|---|
| 权限 | 在搜索、文件夹树、实时文件、AI 文件工具中,普通用户可以指定管理员区域(所有用户的个人空间)。已改为只有全局管理员才能打开。 | 已修复(待发布) |
| 权限 | 文件路径可能越界到名称相似的其他用户的个人空间。已为所有空间的文件访问加入边界检查。 | 已修复(待发布) |
| 权限 | 直接查询数据库文件的功能没有路径权限检查,可以打开其他数据库文件。已加入权限检查和危险命令拦截。 | 已修复(待发布) |
| 权限 | AI 日程工具没有确认日程所有者;AI 文件工具改为读取名称相似的文件时没有重新检查权限。 | 已修复(待发布) |
| 权限 | 补强了个人空间活动记录、空间间复制的源文件权限、按韩文字母表记差异的权限检查,以及收藏、转换状态、任务取消的所有者确认。 | 已修复(待发布) |
| 权限 | 网站(Webspace)表的列读写限制没有生效。已改为同时保护已删除的行和作者列。 | 已修复(待发布) |
| 权限 | 保存设置时如果缺少 IP 访问限制项,限制可能被关闭。 | 已修复(待发布) |
| 数据隔离 | 团队日程列表、收件箱、通知中可能看到其他用户的个人日程。 | 已修复(待发布) |
| 服务器稳定性 | 自动补全请求同时到达时服务器可能停止。 | 已修复(待发布) |
| 外部请求 | AI 模型连接把普通用户的请求一直转发到管理功能,部分功能可以向服务器内部地址发送请求。也阻止了登录信息被传递给插件的问题。 | 已修复(待发布) |
| 内容隔离 | 补强了网站静态文件(XML、XHTML)、文档转换预览、品牌设置值、PDF 转换引擎、登录后跳转地址。 | 已修复(待发布) |
| 过载防护 | 把请求大小限制改为按功能路径设定,为慢速请求正文加入时间限制,为并发上传预留存储空间配额,并把 IPv6 请求限制按地址段归并。 | 已修复(待发布) |
| 数据保护 | 改为在文字识别(OCR)没有结果时不删除原文件。 | 已修复(待发布) |
| 网页界面 | 把邮件撰写器的 HTML 净化改为标准净化工具(DOMPurify),并保护在新窗口打开的链接。 | 已修复(待发布) |
| 邮件 | 修改联系人可能影响其他用户的联系人,外部邮件账户可能占用公司内部地址。也阻止了对已停用邮箱的访问,以及对保存在团队空间中的共享邮箱原文文件的访问。 | 已修复(待发布) |
| 文件与集成 | 文件保存锁可能连其他用户的同名文件也一并锁住,下载的压缩文件内的名称可能被解压到其他文件夹。工作流集成改为每次重新确认用户,Webhook 令牌在日志中隐去,必须签名的设置也应用于现有 Webhook。 | 已修复(待发布) |
| 共享 | 关闭外部共享功能或收回创建者的共享权限后,现有共享链接仍可继续打开,并且可以通过并发请求超过使用次数限制。即使功能已关闭,创建者仍可查看并撤销自己的链接。 | 已修复(待发布) |
| 权限 | 一对一和群组聊天室的附件,同一团队的其他用户也可以通过文件功能打开。已改为只有该聊天室的参与者和管理员才能打开。 | 已修复(待发布) |
| 权限 | 因无权限而被拒绝的文件夹查询响应中,可能一并包含文件夹内项目的信息。 | 已修复(待发布) |
| 权限 | 保存文件和处理审批的请求在返回权限拒绝响应后仍可能被实际执行。现已改为一旦拒绝立即停止处理。 | 已修复(待发布) |
| 权限 | 为 AI 工具的文件夹设置查询与更改,以及基于文件内容生成的结果(研究、相似图片、文件夹分析)补强了权限检查。 | 已修复(待发布) |
| 设置与机密信息 | 确认仓库中没有机密密钥,密码哈希、令牌签名、邮件账户加密均适当。阻止了 API 说明页面经反向代理对外公开的问题,并删除了未使用的弱加密函数。 | 已修复(待发布) |
运维人员须知
- 如果外部 AI 集成(AP 桥接)使用
/api/ai-proxy,需要在服务器和集成端设置相同的SETFN_AI_PROXY_TOKEN值。从本次修复起,仅凭没有令牌的本地请求无法访问。
2026-10-23 发布前全面安全检查
以针对内存不足情况的攻击类型被公开为契机,在发布前重新检查了整个服务器。使用 AI(Claude)分五个领域审查代码,发现的问题在通过代码和测试再次确认后进行了修复。
检查范围
- 无需登录即可调用的功能的请求大小和连接时间
- 一位用户的请求数据可能混入其他用户响应的路径
- 把不完整的数据当作正常数据保存的路径
- 请求反复发生时在服务器内存中持续累积的状态
- 服务器与网页界面库的已知漏洞,文档处理程序 2025 年以后的主要漏洞
- KISA Boho Nara(보호나라)安全公告 463 条(2025-01-01 ~ 2026-10-22)
- OWASP Top 10:2025、OWASP ASVS 5.0、NIST SP 800-63B-4、KISA Web 漏洞检查项目
发现的问题与处理
| 领域 | 内容 | 状态 |
|---|---|---|
| 用户间数据隔离 | 文件名自动补全中可能出现其他用户个人空间的文件名。改为按空间和用户拆分索引,管理员空间仅限管理员查询。 | 已修复(待发布) |
| 用户间数据隔离 | 同时查询团队日程和个人日程时,其他用户的个人日程可能混在一起显示。改为每个请求固定日程存储位置。 | 已修复(待发布) |
| 用户间数据隔离 | 在回收站中以覆盖方式恢复同名文件时,其他文件的评论和更改记录可能被改变。 | 已修复(待发布) |
| 服务器稳定性 | 实时发送搜索结果的过程中如果连接断开,会在响应结束后仍尝试写入记录,可能导致服务器停止。 | 已修复(待发布) |
| 服务器稳定性 | 整理了多个任务同时读写实时连接当前界面信息的竞争问题。 | 已修复(待发布) |
| 过载防护 | 服务器连接没有时间限制,容易受到大量打开慢速连接并保持不放的攻击。加入了标头接收时间、空闲连接时间和标头大小限制。 | 已修复(待发布) |
| 过载防护 | 存在没有请求正文大小限制的功能。为整个 API 设置了默认上限,并为无需登录即可调用的应用登录准备、设备注册确认、安装界面设置了单独的上限。 | 已修复(待发布) |
| 过载防护 | 登录失败记录和应用登录等待请求可能无限增长。加入了总数和按访问来源的数量上限。 | 已修复(待发布) |
| 过载防护 | 邮件重复处理记录、网站实时订阅、AI 请求并发执行、压缩下载并发任务、文件夹树缓存可能无限增长。已分别加入上限和定期清理。 | 已修复(待发布) |
| 数据保护 | 未告知长度的上传可能跳过存储空间配额检查;文档密码设置会原地覆盖文件,失败时可能损坏原文件。已改为边统计接收量边检查配额,文档密码设置和转换结果保存先写入临时文件再替换。 | 已修复(待发布) |
| 数据保护 | 过大的专利 XML 可能在被截断处理后删除原文件。已改为超过大小上限即视为失败,并且不删除只解析了一部分的原文件。 | 已修复(待发布) |
| 文档处理程序 | LibreOffice 存在 Ubuntu 24.04 中尚未修复的漏洞(CVE-2026-63277)。已改为在用于文档转换的 LibreOffice 配置文件中禁用 Java。 | 已修复(待发布) |
| 文档处理程序 | 正在加强处理压缩、图像、文档文件时的大小上限。 | 修复中 |
| 依赖 | 将 Go 服务器库的 41 项已知漏洞升级到修复版本,并把不再维护的压缩库替换为自有模块。 | 已修复(待发布) |
| 依赖 | 将网页界面库(文档编辑器、PDF 查看、Markdown 查看等)严重程度为高及以上的 20 项漏洞升级到修复版本。 | 已修复(待发布) |
| 依赖 | HTML 文件编辑器(TinyMCE)的部分漏洞只在更高版本中修复,正在评估切换。邮件编辑器已通过输入净化加以阻止。 | 修复中 |
| 安全标头 | 禁止把管理员和账户界面嵌入其他站点,并限制了对 API 响应格式的猜测以及传到外部的地址信息。 | 已修复(待发布) |
| 认证 | 计划把密码策略改为 NIST 标准(用长度和常见密码拦截代替组合规则),并添加管理员两步验证。 | 计划改进 |
| 外部公告 | KISA 公告中没有直接影响 SetFN 的公告。根据运行环境可能相关的 32 条已整理为运维人员确认项目。 | 需运维人员处理 |
修复确认
每项修复都附带了在修复前代码上会失败的测试。修复后,另外启动了与生产数据隔离的测试服务器,用命令行工具创建管理员和普通用户账户,然后通过实际请求确认了以下内容。
- 其他用户个人空间的文件名不会出现在自动补全中
- 同时查询团队和个人日程 40 次期间,个人日程不会混入团队列表
- 对于不结束标头发送的慢速连接,服务器会在超过限制时间后断开
- 过大的请求和过长的输入在读取正文之前即被拒绝
- 管理员界面带有防点击劫持标头,而客户网站页面不带
运维人员须知
- 新增了检查服务器安全更新。介绍获取 Ubuntu
universe软件包安全修复的方法,以及不安装 MuPDF 的原因。 - 从 Linux 和 Windows 安装文档的推荐软件包中移除了
mupdf-tools。
2026-10-20 ~ 2026-10-22 权限边界复查
使用 AI(OpenAI Codex)并行复查了权限和共享处理代码,发现的缺陷先用在修复前代码上失败的测试加以确认,然后进行了修复。
| 内容 | 状态 |
|---|---|
| 桌面同步列表中包含没有列出权限的文件夹的名称和文件大小的问题 | 已处理 |
| 共享链接、回收站恢复、文档传输的权限处理缺陷,以及权限拒绝显示为服务器错误(500)的问题 | 已处理 |
| 已收回的权限可能在实时连接中复活的顺序问题,文件通知的接收人范围 | 已处理 |
| 在已退出的聊天室中仍能看到迟到的 AI 回复的问题 | 已处理 |
| 补充文档转换菜单和 OCR 结果保存的权限检查 | 已处理 |
2026-10-19 限制 AI 日志原文
缩小了 AI 功能诊断日志的记录范围,避免过多留下请求原文。已处理
2026-10-13 加强转换与公开 Web 权限
| 内容 | 状态 |
|---|---|
| 转换文件夹重新处理功能没有路径权限检查的问题 | 已处理 |
| 把没有转换设置的文件夹中删除原文件的默认值改为保留 | 已处理 |
| 加强公开 Web 查看权限和文档历史边界,补强实时连接重新认证的回归问题 | 已处理 |
2026-09-25 全方位安全检查
检查了权限、共享、认证、网页界面脚本执行(XSS)、服务器端请求伪造(SSRF)、AI 与工作流工具。向隔离的测试服务器发送真实请求确认后进行了修复。
| 内容 | 状态 |
|---|---|
| 加强共享链接令牌的类型、签发者、路径范围验证 | 已处理 |
| 改为先规范化路径再判定权限,列表查询也应用上级文件夹权限 | 已处理 |
| 加强 CSRF 例外条件,CORS 来源比较包含端口,更改密码时终止所有会话 | 已处理 |
| 对 Office 文档的保存和锁定应用路径权限和文件夹策略 | 已处理 |
| 禁止 AI 工具接收内部参数,对文件创建和覆盖应用权限和编辑锁 | 已处理 |
| 工作流集成必须使用令牌,对文件工具应用权限检查 | 已处理 |
| 加强邮件、Markdown、Word 文档显示的 HTML 净化,隔离上传文件的响应 | 已处理 |
| 为防止账户锁定功能被滥用,添加最近登录成功 IP 的例外 | 已处理 |
| 加强实时功能中管理员操作(强制退出等)的权限 | 已处理 |