Azure API Connections 경로 순회로 타 테넌트 Key Vault·Azure SQL 장악, 취약점 5건에 포상금 $200,000
- Azure Logic Apps의 API Connections 구조 결함으로 다른 테넌트의 Key Vault와 Azure SQL, Jira, Salesforce 등 연결된 백엔드에 그대로 접근 가능하며, 이번에 보고한 취약점 5건으로 포상금 $200,000을 받음
- 공격 경로는 자기 연결의 ARM DynamicInvoke나 /extensions/proxy/ 엔드포인트로 %2e%2e 경로 순회 요청을 보내 피해자 연결의 토큰으로 백엔드를 호출하는 방식임
- ARM이 모든 연결에 대한 권한을 가지므로 요청이 APIM에 도달하는 순간 다른 테넌트의 연결도 함께 열림
- Microsoft는 첫 취약점을 수정했지만 이후에도 같은 primitives를 주는 결함이 계속 나왔고, 방어는 각 시스템에 덧댄 입력 검증 계층뿐이라 엣지 케이스를 다 잡기 어려움
- 글쓴이는 OAuth 연결의 토큰이 최초에 연결한 사람의 토큰이고 API 키도 최소 권한으로 좁히는 경우가 드물어, 연결 하나가 뚫리면 백엔드 권한 전체가 넘어간다고 봄
Hacker News 의견들
path traversal에 IDOR까지, 이 기능 나온 초기부터 있었을 것 같음. 리소스 이름에 랜덤 붙이라는 권고도 결국 이 문제 때문 아니었을까.
크로스 테넌트 유출만 보면 Azure가 경쟁사보다 한참 앞서는 느낌인데, 기업들이 왜 계속 몰리는지 모르겠음.
2002년부터 그래왔음. 마이크로소프트 사서 해고된 사람은 없다는 말 그대로임.
이미 Intune에 Teams까지 유저당 월 과금으로 내고 있으니 Azure도 그냥 쓰게 됨. 벤더 관계 하나로 끝나고, AWS보다 적은 돈으로 세일즈 지원도 받음.
우리는 국내에 데이터센터가 있어서 골랐음. 레이턴시도 낫고 고객사도 안심함. 아마존은 없고 구글은 제품 단종 걱정에 못 씀.
MS 영업이 C레벨 상대를 잘함. 다른 클라우드에서 빼오려고 크레딧과 핸즈온 지원을 크게 줌.
저 정도 버그를 찾으려면 Azure 인프라를 그 수준으로 파고들어야 한다는 건데, 그런 엔지니어가 되고 싶지 않음.
외부인이 크로스 테넌트 체인으로 신고하면 돈을 주는데, 직원이 검증 문제를 이론적으로 지적하면 왜 그런 걸 보고 있냐는 질문부터 받음.
MS에 아직 직원이 있음? 농담이고 대부분 아웃소싱인 줄 알았는데 최근 뉴스 보고 놀람.
그러니까 MS가 직원 신고를 사실상 막는다는 거네. 설명이 됨.
제출물에 날짜 태그 좀 붙이면 좋겠음. 취약점이 매일 쏟아지니 이번 달 초가 2년 전 같음.