跳转到: 导航, 搜索

OSSN/OSSN-0060


Glance 配置选项可能导致权限提升

总结

Glance 在配置文件 `glance-api.conf` 中暴露了一个名为 `use_user_token` 的配置选项。需要注意的是,默认设置 (`True`) 是安全的。但是,如果将该设置更改为 `False`,并在以下部分 (`admin_user` 和 `admin_password`) 提供有效的管理员凭据,则 Glance API 命令将以管理员权限执行,而无论调用用户的预期权限级别如何。

受影响的服务 / 软件

Glance, Juno, Kilo, Liberty

讨论

`use_user_token` 配置选项的创建是为了启用即将过期的 token 的自动重新认证,从而防止 token 在较长的 Glance 命令执行过程中过期。不幸的是,该实现通过自动以管理员级别用户执行 API 命令,从而导致权限提升攻击。

默认情况下,`use_user_token` 设置为 `True`,这是安全的。如果禁用该选项(设置为 `False`)并在 `glance-api.conf` 文件中指定有效的管理员凭据,则 API 命令将以提供的管理员用户身份执行,而无论调用用户的预期权限如何。未启用注册服务 (`data_api = glance.db.registry.api`) 的 Glance API v2 配置不受影响。

允许未认证和权限较低的用户以管理员权限执行 Glance 命令非常危险,可能会暴露以下风险,包括

  • 篡改镜像
  • 删除镜像
  • 拒绝服务攻击

建议的操作

全面的修复将包含在 Mitaka 版本中。同时,建议所有用户确保 `use_user_token` 保持默认设置 (`True`) 或被注释掉。

联系方式 / 参考文献