接口鉴权通过,对象却属于别人:LimeSurvey 跨问卷授权缺陷解析
接口鉴权通过对象却属于别人LimeSurvey 跨问卷授权缺陷解析背景与时间线报告方 Fluid Attacks记录2026 年9 月 23 日发现24 日联系厂商28 日确认、修复并公开。GitHub CVE 记录于9 月 29 日收录CVE-2026-97685该条目标明Unreviewed不能当作 GitHub 已审核结论。证据来自报告方披露、公开 CVE 描述及项目修复提交。研究者验证版本为 Community Edition7.3.0。本次没有核清最低修复发布版本不能凭补丁已合并推断某个发行包必然安全。技术原理授权对象和写入对象必须是同一个已确认链路是接口针对 URL 中的问卷检查权限但后续根据请求中的全局题目或答案 ID 查找对象没有验证对象属于被授权问卷。具备创建问卷权限的已认证用户可能借自己的合法问卷上下文修改其他问卷对象。**工程分析**问题不在于权限检查完全不存在而在于权限检查的主语变了。代码读起来可能每一步都合理先检查问卷再查询题目再执行更新。但这三步之间缺少关系约束。更稳健的数据访问方式是把授权范围写进查询条件而不是先全局查到对象再期望每个调用者记住补查。对于批量操作还要保证一个非法对象不会在前面合法对象已经写入后才被发现。校验层需要证明的关系用户与问卷用户可以编辑该问卷问卷与题目题目确实属于该问卷题目与答案答案属于预期题目和问卷批量操作所有目标通过校验后再提交影响范围与证据边界本次披露证明跨问卷完整性风险必要条件包含认证及相应操作权限。本文不将其扩大成匿名接管、任意 SQL 注入或 RCE。报告页的利用演示代表受控验证不是现实攻击活动证明。修复提交可用于代码核对但部署团队仍需核验其是否包含在自己的发行包、容器镜像或下游回补中。在确认前可评估限制相关 REST 修改功能和缩小创建、编辑权限范围作为临时风险降低措施。无害内存模型surveys{10:{owner:alice},20:{owner:bob}}questions{101:{survey:10,text:A},201:{survey:20,text:B}}defupdate(user,survey_id,changes):ifsurveys[survey_id][owner]!user:raisePermissionError(survey denied)# 全量校验在任何写入之前完成。forqid,textinchanges:ifqidnotinquestionsorquestions[qid][survey]!survey_id:raisePermissionError(question outside scope)forqid,textinchanges:questions[qid][text]texttry:update(alice,10,[(101,new),(201,wrong)])exceptPermissionError:passassertquestions[101][text]Aassertquestions[201][text]Bupdate(alice,10,[(101,valid)])assertquestions[101][text]validprint(ownership and atomicity model passed)示例不连接 LimeSurvey也不构造真实请求。真实数据库中还需要事务与并发控制避免校验后对象归属发生变化单线程字典模型不具备这些保证。研发与安全团队行动清单P0确认部署包含修复记录当前版本和制品标识追踪官方修复进入发行版本的情况。评估相关接口可达性和低权限账号范围。审计日志可检查用户、URL 问卷 ID、实际修改对象归属是否一致但不要把一次合法跨对象管理操作直接判成攻击。P1测试关系而非只测试角色准备两个测试用户、两份问卷、分别归属的题目和答案覆盖同租户不同所有者、不同问卷、混合批量以及不存在的 ID。每个拒绝测试都应确认数据未发生部分写入。P2约束下沉与审计对账将授权上下文显式传入服务层避免持久化层只接受裸全局 ID。数据库查询将范围作为条件更新结果为零时区分无权限和不存在的内部处理同时控制对外错误信息避免泄露对象存在性。安全团队可从控制器到仓储层追踪同一请求内的标识符哪个被检查哪个被修改中间是否发生重新解析。这个方法适用于订单、项目、文档和多租户配置系统但不意味着它们天然存在同类漏洞。总结授权必须跟着最终对象走。一次成功的入口鉴权不能自动覆盖后来从请求体解析出的所有全局 ID。把归属约束写进查询和事务比在每个接口补零散判断更容易维护。

相关新闻

FPGA多路MIPI视频聚合:从协议解析到系统调试全解析

FPGA多路MIPI视频聚合:从协议解析到系统调试全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 16:02:31 阅读更多 →
Python基础语法练习题(37-39)

Python基础语法练习题(37-39)

今天也来同步更新关于Python的几道练习题。第三十七题,交换列表首尾元素:#定义一个函数,该函数接受一个列表newList作为参数。函数的功能是交换列表的第一个元素和最后一个元素,并返回交换后的列表。#定义函数def swap_first_last…

2026/10/1 16:02:31 阅读更多 →
OpenRig rig heartbeat与watchdog:让Agent团队自己盯自己的健康守护

OpenRig rig heartbeat与watchdog:让Agent团队自己盯自己的健康守护

OpenRig rig heartbeat与watchdog:让Agent团队自己盯自己的健康守护 【免费下载链接】openrig Multi-agent harness that runs Claude Code and Codex together as one system 项目地址: https://gitcode.com/GitHub_Trending/op/openrig OpenRig 是一个多 A…

2026/10/1 16:02:31 阅读更多 →

最新新闻

基于MATLAB的PQ解耦法风电并网潮流计算:从原理到实现

基于MATLAB的PQ解耦法风电并网潮流计算:从原理到实现

风电并网仿真做到一定程度,很多人都会碰上一个尴尬局面:常规规模的IEEE标准节点系统,用MATLAB里现成的牛顿-拉夫逊法算潮流,顺畅得很;可一旦把风电场接入点做细——多台双馈风机等值、集电线路、无功补偿、升压变压器全…

2026/10/1 18:14:34 阅读更多 →
Univer 电子表格内核实战:基于 Facade API 实现单元格级权限控制与模板填写

Univer 电子表格内核实战:基于 Facade API 实现单元格级权限控制与模板填写

1. 从“univer”这个关键词说起:它到底解决什么问题 第一次看到“univer”这个词,很多人会以为是某个新出的前端框架或者又一个在线表格工具。但如果你真正翻过它的文档、跑过它的 Demo,就会发现它的定位比“在线 Excel”要底层得多——它是一…

2026/10/1 18:14:33 阅读更多 →
常见概率分布详解:从随机试验到分布律,一次搞懂离散与连续分布

常见概率分布详解:从随机试验到分布律,一次搞懂离散与连续分布

很多人学概率论的时候,最头疼的往往不是那些积分和级数运算,而是“分布太多、记不住、用不对”。尤其是到了期末复习或者面试准备阶段,打开教材看到几十个分布函数,脑子里只剩两个字:混乱。我自己当初转行做数据分析时…

2026/10/1 18:14:33 阅读更多 →
基于Spring Boot+Vue的校园生活服务平台设计与实现

基于Spring Boot+Vue的校园生活服务平台设计与实现

1. 项目概述与选题思路1.1 为什么选“校园生活服务平台”这个题目每年到毕设季,后台咨询最多的题目类型之一就是“Spring Boot Vue”。原因很简单:这个组合是目前国内中小型系统开发最主流的技术栈,企业里用得多,网上教程也多&am…

2026/10/1 18:14:33 阅读更多 →
危废焚烧炉燃烧仿真全流程:模型选型、网格策略与收敛控制

危废焚烧炉燃烧仿真全流程:模型选型、网格策略与收敛控制

最近这阵子一直在跟一个危废焚烧炉的燃烧仿真项目打交道,过程中踩了不少坑,也把原来很多含糊的认知重新捋了一遍。如果你正要上手焚烧炉的燃烧仿真,或者已经在跑这类案例但结果老是不对劲,这篇文章值得你认真看完。我会把燃烧仿真…

2026/10/1 18:14:33 阅读更多 →
Redis 系列 · 第 07 篇——调优实战:内存、压测与监控

Redis 系列 · 第 07 篇——调优实战:内存、压测与监控

把 Redis 的性能与稳定性调到最佳 目 录 一、导读 二、内存优化 2.1 关键指标 2.2 内存碎片整理 2.3 数据与编码优化 三、性能压测 3.1 redis-benchmark 3.2 压测要点 四、监控体系 4.1 INFO 常规巡检 4.2 慢查询 4.3 全链路监控 五、其他调优项 六、本篇小结 一、导读 前几讲…

2026/10/1 18:13:33 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →