Toplu Atama (ARCH4129)
Anahtar java.security.mass-assignment · Önem warning · Kategori security · CWE CWE-915
Bir istek gövdesinin tamamını izin listesi olmadan doğrudan entity’ye bağlamak, saldırganların role veya isAdmin gibi korumalı alanları ayarlamasına olanak tanır. Yalnızca izin verilen alanları taşıyan bir DTO kullanın.
Hatalı
Bölüm başlığı “Hatalı”@PostMapping("/users")User create(@RequestBody User user) { // role, isAdmin dahil her alan bağlanır return repository.save(user);}@PostMapping("/users")User create(@RequestBody UserCreateDto dto) { // yalnızca izinli alanlar User user = new User(); user.setName(dto.name()); user.setEmail(dto.email()); return repository.save(user);}Düzeltme
Bölüm başlığı “Düzeltme”İstek gövdesini doğrudan entity’ye bağlamak yerine izinli alanları içeren bir DTO kullanın.