客户影响范围
使用Local Git部署且满足以下条件的App Service Linux客户会受影响:
- 在内容根目录创建/修改文件后通过Local Git部署应用
- 应用配置为提供静态内容服务(PHP/Node/Python/Ruby/Java)
技术原理:部署引擎(Kudu)会保留当前部署文件作为仓库内容,激活"就地部署"模式。
微软应对措施
- 紧急更新:所有PHP运行时镜像禁止将.git文件夹作为静态内容提供
- 客户通知:向受影响的客户发送具体缓解指南
- 文档更新:
- 安全建议文档新增源码保护章节
- 完善就地部署的配置文档
技术细节
当同时满足以下两个条件时会导致源码暴露:
- 错误配置:.git文件夹被置于内容根目录
- 通过Local Git部署后修改内容根目录文件
- 显式配置SCM_REPOSITORY_PATH启用就地部署
- 非Git部署时包含.git文件夹
- 应用行为:Web应用配置为提供内容文件夹内所有静态文件