- Silverfort phát hiện role Agent ID Administrator của Microsoft Entra cho phép tài khoản hijack bất kỳ service principal nào trong tenant — kể cả những SP có quyền Global Admin.
- Microsoft đã vá toàn cầu ngày 9/4/2026.
TL;DR
Một lỗ hổng scope-overreach trong nền tảng Entra Agent Identity của Microsoft cho phép bất kỳ tài khoản nào nắm role Agent ID Administrator tự gán mình làm owner của bất kỳ service principal (SP) nào trong tenant — kể cả các SP có quyền tương đương Global Administrator. Sau khi đã sở hữu SP, kẻ tấn công thêm credential mới và đăng nhập với toàn bộ quyền của SP đó. Silverfort báo cáo cho MSRC tháng 2/2026, Microsoft đã vá toàn bộ cloud vào 9/4/2026. Chưa có CVE công khai.

Điều gì vừa xảy ra
Tháng 2/2026, các nhà nghiên cứu Silverfort gửi báo cáo cho Microsoft Security Response Center (MSRC) về một scope-overreach trong role mới Agent ID Administrator — role được sinh ra để quản lý các AI agent identity trong Entra Agent ID Platform. Theo thiết kế, role này chỉ được phép động đến các object liên quan đến agent. Trên thực tế, hệ thống quên kiểm scope ở endpoint cập nhật owner của service principal, mở ra một con đường leo thang quyền chạy thẳng tới Global Admin mà bypass mọi review về role privileged thông thường.
Microsoft xác nhận, fix âm thầm và roll-out hoàn tất ngày 9/4/2026 trên tất cả cloud environments. Sau patch, role Agent ID Administrator không còn modify được owner của các SP không thuộc agent.
Vì sao đáng lo
Service principal là "identity" của ứng dụng — đứng sau CI/CD pipeline, công cụ bảo mật, automation, app multi-tenant đã được admin consent. Nếu một SP nào đó trong tenant của bạn nắm Application.ReadWrite.All, RoleManagement.ReadWrite.Directory hoặc role directory cấp admin, thì chiếm được SP đó tương đương chiếm được tenant. Lỗ hổng này biến một role tưởng "cấp thấp" thành con đường ngắn nhất để đi từ engineer tự động hoá phụ trách AI agent → toàn quyền tenant. Tệ hơn, UI Entra không gắn nhãn role này là "Privileged", nên rất nhiều tổ chức đã cấp nó mà không qua review PIM hay conditional access nghiêm ngặt.

Chi tiết kỹ thuật
Agent identity được build trên đúng các primitive cũ: application object + service principal object. Server-side check chặn role mới sửa owner của application object, nhưng quên chặn ở object service principal. Dưới đây là chuỗi 3 bước Silverfort mô tả:
- Hijack ownership — gọi Microsoft Graph:
POST /servicePrincipals/{id}/owners/$refđể tự thêm mình làm owner một SP bất kỳ. - Inject credential — gọi
POST /servicePrincipals/{id}/addPassword(hoặcaddKey) để gắn secret/cert mới vào SP đó. - Authenticate as SP — dùng credential vừa tạo xin token, kế thừa toàn bộ role và Graph permission của SP nạn nhân.

| Thuộc tính | Giá trị |
|---|---|
| Role bị lạm dụng | Agent ID Administrator |
| Endpoint vulnerable | POST /servicePrincipals/{id}/owners/$ref |
| Object bị che chắn đúng | Application object (bị chặn) |
| Object bị bỏ sót | Service Principal object |
| Disclosure → Patch | Tháng 2/2026 → 9/4/2026 |
| CVE | Chưa công khai |
| Researcher | Silverfort |
So sánh với các vụ Entra/Azure AD gần đây
Service principal ownership abuse không mới — Semperis đã ghi chép pattern này từ nhiều năm trước. Khác biệt lần này nằm ở điểm vào: trước đây cần explicit permission "manage application" hoặc Cloud Application Administrator để vào được con đường này; Agent ID Administrator là role mới, đi kèm AI hype, nên được cấp rộng cho team automation mà chưa qua privileged review. Cùng dòng với Actor Token bug (2025) và Datadog "I SPy" first-party app escalation: ranh giới giữa "admin role hẹp" và "Global Admin" mỏng hơn rất nhiều khi service principal vào cuộc.
Ai bị ảnh hưởng
- Tenant đã enable Entra Agent ID giai đoạn preview/GA cuối 2025–đầu 2026.
- Tổ chức cấp role
Agent ID Administratorcho automation/AI engineer mà không qua PIM. - Tenant có SP cao cấp cho: GitHub Actions OIDC, Azure DevOps, SIEM/EDR Graph reader, backup/restore, app multi-tenant đã admin consent.
- Red-team scenario: phish một engineer junior chỉ giữ role này → pivot sang SP nắm
RoleManagement.ReadWrite.Directory→ tự gán Global Admin.
Hạn chế & phản ứng đề xuất
Lỗ hổng đã được vá, không cần customer action cho fix. Tuy vậy hardening dài hạn vẫn cần:
- Inventory SP đặc quyền: dùng
az ad sp list+ Microsoft Graph để liệt kê SP nắm directory role admin hoặc Graph permission high-impact. - Audit log: alert ngay với event
Add owner to service principalvàAdd service principal credentialstrong Entra audit log. - Treat as privileged: đưa
Agent ID Administratorvào danh sách role cần PIM, conditional access yêu cầu MFA + compliant device, và review định kỳ. - Lifecycle credential SP: rotate secret/cert SP định kỳ, dùng workload identity federation thay client secret nơi nào có thể.
Sắp tới
Đợi Microsoft (a) gắn nhãn Privileged cho role Agent ID Administrator trong UI, (b) tách scoping primitive cho admin role chuyên agent (giống cách AU/Administrative Units giới hạn scope), và (c) tài liệu hoá rõ boundary giữa application object và service principal object. Silverfort và Semperis đều phát tín hiệu sẽ ra thêm nghiên cứu về privilege escalation trên agent identity khi nhiều tenant bật agentic workload — đây sẽ là một mặt trận nóng trong cả 2026.
Nguồn: CybersecurityNews, GBHackers, Silverfort, Semperis Research.

