İçeriğe geç

Authorization removed (ARCH344)

Anahtar dotnet.security.authorization-removed · Önem error · Kategori security · CWE CWE-862

Yalnız merge request’lerde. Değişen her endpoint’i hedef daldaki haliyle karşılaştırır ve korumasını kaybedeni işaretler: controller’da kaldırılan [Authorize] ya da özel yetki attribute’u, eklenen [AllowAnonymous], düşürülen rol/policy/izin veya yetkiyi taşıyan base sınıftan çıkılması; minimal API’de mapping’den, MapGroup’tan ya da handler’dan kaldırılan veya daraltılan RequireAuthorization ya da eklenen AllowAnonymous; FastEndpoints’te eklenen AllowAnonymous ya da düşürülen Roles/Policies/Permissions/Claims. Açık bir endpoint tek başına bulgu değildir; onu açan değişiklik bulgudur. Global ya da fallback yetki policy’si varken düz bir [Authorize] kaldırılması bir şey değiştirmez ve raporlanmaz.

[ApiController]
[Route("api/orders")]
public class OrdersController : ControllerBase
{
[Authorize(Policy = "orders.delete")]
[HttpDelete("{id}")]
public IActionResult Delete(int id) => NoContent();
}
[ApiController]
[Route("api/orders")]
public class OrdersController : ControllerBase
{
[Authorize(Policy = "orders.delete")]
[HttpDelete("{id}")]
public IActionResult Delete(int id) => NoContent();
}