漏洞概述 该漏洞涉及会话范围权限审计问题(#15469)。主要问题包括: 会话授权后未强制执行消息范围。 在有限会话中接收超出范围的消息时未进行过滤。 通过连接类型限制登录选项,防止有限会话应用无关选项。 影响范围 Out-of-scope 选项:在应用 之前被过滤。 会话限制:经过清理和遗留的 no-op 兼容性过滤后,会话仅限于其预期的协议表面。 不同连接类型的消息处理: - :允许所有消息。 - :仅允许文件传输消息。 - :不允许任何会话协议消息。 - :仅允许摄像头查看消息和摄像头范围选项。 - :仅允许终端消息和终端范围选项。 修复方案 消息范围强制执行:对已认证的连接实施更严格的会话范围强制执行,包括会话范围违规的审计和可选的立即断开连接。 消息过滤:过滤掉在有限会话中接收的超出范围的消息。 登录选项限制:通过连接类型限制登录选项,防止有限会话应用无关选项。 审计日志:意外的授权消息现在会触发 警报审计。 调试支持:新的消息类型易于调试,函数执行白名单检查,任何不支持的消息都会触发断开连接。 兼容性说明 旧客户端:旧客户端可以向多个打开的会话广播 no-op 消息,但不会应用它们。 特定连接类型的容忍度: - 和 容忍文本剪贴板和渲染广播 no-op 消息,但不应用它们。 - 仅容忍渲染广播 no-op 消息,但不应用它们。 测试 默认连接:文件传输、摄像头查看、终端、RDP、TCP 隧道均正常工作。 超出范围的消息:超出范围的消息会触发断开连接并记录在审计日志中。 代码示例 总结 该修复通过强制执行会话范围权限、过滤超出范围的消息和限制登录选项,解决了会话范围权限审计问题。修复方案包括消息范围强制执行、消息过滤、登录选项限制、审计日志和调试支持,确保了系统的安全性和稳定性。