当前位置: 首页 > news >正文

DSpace issue2: EPerson byEmail Search Leaks Account Authorization Properties

Vulnerability call chain

1.1 Summary

DSpace has a missing authorization vulnerability: EPerson byEmail Search Leaks Account Authorization Properties. Unauthorized disclosure of EPerson account attributes including email, netid, canLogIn, requireCertificate, selfRegistered, and lastActive. These are authorization/authentication-related properties, especially netid and login flags

  • Attack precondition: The attacker can call GET /api/eperson/epersons/search/byEmail and knows or guesses a target email address
  • Security impact: Unauthorized disclosure of EPerson account attributes including email, netid, canLogIn, requireCertificate, selfRegistered, and lastActive. These are authorization/authentication-related properties, especially netid and login flags

1.2 Exploit path

GET /api/eperson/epersons/search/byEmail?email=<target> calls findByEmail() without method-level @PreAuthorize. The result is converted to EPersonRest, exposing account fields that normally require EPERSON READ via the direct findOne endpoint

1.3 Key code evidence

  1. EPersonRestRepository.java

Evidence location: EPersonRestRepository.java
2. EPersonConverter.java

Evidence location: EPersonConverter.java
3. EPersonRestPermissionEvaluatorPlugin.java

Evidence location: EPersonRestPermissionEvaluatorPlugin.java

3. Root Cause Analysis

Root Cause 1: Missing server-side authorization on the vulnerable operation.

The endpoint accepts user-controlled authorization-sensitive identifiers or fields, but the write/read path does not prove that the current caller may operate on the target object.

Root Cause 2: Missing object-scope or grant-bound validation.

The implementation relies on endpoint access, UI filtering, or object existence checks instead of enforcing target ownership, tenant boundary, role ceiling, or grantable-resource constraints at the service layer.

Add @PreAuthorize("hasPermission(#email, 'EPERSON', 'READ')") equivalent logic after resolving the target EPerson, or restrict byEmail to admin / self and return a minimized response for other users

5. Verification after fix

  • Unauthorized callers receive HTTP 403 or equivalent rejection.
  • Out-of-scope target identifiers are rejected before database writes or sensitive reads.
  • Role, permission, tenant, organization, ownership, or grant-bound ceilings are enforced server-side.
  • Direct HTTP requests are rejected even when front-end controls are hidden.
http://www.jsqmd.com/news/1035896/

相关文章:

  • 2026西安焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • QQ截图独立版:终极免费截图工具完整使用指南
  • GPU 调度与 AI 推理优化:从独占模式到分时复用,算力资源的极致压榨
  • MCMS issue4: Content copy uses `cms:content:save` to read and clone source content
  • jwt修改kid指向已知文件加密绕过
  • Cursor Pro破解工具2025:解锁AI编程助手的完整功能体验
  • 2026深圳黄金回收领先者测评:权威夺冠,高价领跑 - 奢侈品回收测评
  • ATM网络APC流量控制算法:原理、参数计算与工程实践详解
  • 2026雅安焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 2026孝感焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 如何快速掌握编程:开源游戏化学习平台CodeCombat完整入门指南
  • 2026乌海焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 中国预制房出海对公文写作的启示:如何像搭积木一样“预制”高级材料?
  • 2026年泰州高压发电机组实力厂家推荐榜:口碑深耕/技术沉淀/应急保电领域标杆品牌深度解析 - 品牌发掘
  • RuoYi issue1: Role Menu Permission Overwrite
  • Honey Select 2汉化去码补丁:5分钟打造完美游戏体验
  • 2026西藏焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 基于KEA128的无感BLDC驱动:从硬件设计到反电动势过零检测算法实践
  • Appium复杂手势模拟:从W3C Actions到源码级调试实战
  • DSpace issue3: Registration Token Path Allows Arbitrary netid Binding
  • 国内亚克力定制主流厂家盘点 核心能力横向对比 - 起跑123
  • 2026忻州焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • JEEWMS issue1: `saveUser` 可重建用户角色和组织绑定
  • 2026西宁焊缝探伤检测权威机构排行 TOP 本地高频选择,无损检测 + UT+RT+PT 检测 附电话地址 - 中安检测集团
  • 2026年移动拖车发电机组工厂推荐:静音节能与应急供电的实力之选 - 品牌发掘
  • 2026 AIGC 全球挑战赛收官:131 组作品角逐,为北京数字经济发展注入新动能!
  • B站缓存视频容器格式转换技术实现:m4s-converter架构解析与应用指南
  • 模型量化:从 FP16 到 INT4,怎么平衡精度和速度
  • 如何在5分钟内完成专业级虚拟背景设置:OBS背景移除插件终极指南
  • ZigBee网络配置实战:从ZPS工具到休眠设备通信避坑