白帽故事 · 2025年7月29日

要来点 IDOR 吗?泄露 6400 万份麦当劳求职申请的漏洞

简介

McHire 是麦当劳 90% 加盟商使用的聊天机器人招聘平台,求职者通过一个名为 Olivia 的聊天机器人(由 Paradox.ai 公司开发)提交个人信息、班次偏好,并参加性格测试。

有研究人员发现在 Reddit 上有人抱怨该机器人回应荒谬答案后,对其开展了安全审查。

在几小时的快速安全审核中,共发现两个严重问题:

  1. McHire 管理后台为餐厅所有者的默认密码为123456:123456
  2. 内部 API 存在不安全的直接对象引用(IDOR)漏洞,允许访问任何联系信息和聊天记录。

这两个问题合起来使得拥有 McHire 账号且能访问任意收件箱的任何人,从而获取超过 6400 万名求职者的个人数据。

申请工作过程

首先在当地麦当劳申请工作,McHire 的用户界面 https://jobs.mchire.com/ 能够显示附近的招聘岗位。

系统会引导与 Olivia 聊天机器人互动,收集邮箱、电话和班次偏好,随后进入性格测试阶段。

file

McHire 性格测试

性格测试由 Traitify.com 提供支持,包含“喜欢加班”这类陈述,要求选择“是我”或“不是我”。

根据常理推测,对雇主有利的问题选“是我”,攻击性或争论性的问题选“不是我”,虽然做起来怪异,但顺利完成后,系统显示等待人工审核。

尝试对 Olivia 聊天机器人进行提示注入攻击,但系统响应被锁定在预设的回复列表中,并且未能发现有趣的 API。

登录管理后台

偶然发现餐厅所有者的登录界面是 https://www.mchire.com/signin, 应用程序试图强制使用麦当劳的单点登录,但底部有一处较小的“Paradox 团队成员”链接。

file

尝试输入用户名和密码均为“123456”,意外直接登录成功,成为测试餐厅管理员。

虽然只是一家测试餐厅,但可以查看与 Paradox.ai 员工相关的所有信息,获得了对系统的更深入了解。

file

申请测试岗位

以测试账户申请了一份测试岗位,餐厅管理员可以查看所有与 Olivia 机器人的对话,尤其关注已完成性格测试的候选人,对其进行干预。

file

观察测试对话时,发现一处有趣的 API:

PUT /api/lead/cem-xhr

该请求参数中包含候选人聊天的 lead_id,测试用户为 64,185,742。尝试递减此 ID 后,立即获取了另一个求职者的完全个人识别信息(PII),包括未打码的联系信息。

IDOR 漏洞影响

此 API 允许访问麦当劳历史上所有申请者的聊天和个人数据,返回内容包括:

  • 姓名、电子邮件、电话号码、地址
  • 候选人状态和所有状态变更、填写的表单信息(可工作班次等)
  • 用于登录消费者界面的认证令牌,可查看该用户的聊天记录及更多信息

发现漏洞后立即开始安全披露,但未找到公开的联系方式,研究者只能随机发送邮件。

Paradox.ai 的安全页面仅表示“无须担心安全问题”。

经过多方努力后,该问题得到 Paradox.ai 和麦当劳的重视:

  • 2025 年 6 月 30 日下午 5:46,向 Paradox.ai 和麦当劳提交漏洞报告
  • 6 月 30 日下午 6:24,麦当劳确认收到并请求技术详情
  • 6 月 30 日晚上 7:31,默认凭据不再有效
  • 7 月 1 日晚上 9:44 跟进处理进度
  • 7 月 1 日晚 10:18,Paradox.ai 确认问题已解决

原文:https://ian.sh/mcdonalds