diff --git a/CHANGELOG.md b/CHANGELOG.md index ab8d71789cf782587144c1faed42dee3cb86af8e..92f67afb034e9730ab6d1c62d15bcd43f270fc4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2.0.3 +This release fixes a security vulnerability in the account management API. It is +highly recommended to upgrade if you are using database authentication. + +Additional changes: +* Libraries have been upgraded to fix potential bugs +* Some unnecessary log warnings for Websocket communication are filtered + ## 2.1 Major features: * Public Pool (experimental): It is now possible to share sessions with other diff --git a/src/main/java/de/thm/arsnova/controller/UserController.java b/src/main/java/de/thm/arsnova/controller/UserController.java index 0c5e2403e0048d3312c182c33d0d1ad759ab9282..b56e6f9b20c08f1476391990f3cd34bd28d58a6b 100644 --- a/src/main/java/de/thm/arsnova/controller/UserController.java +++ b/src/main/java/de/thm/arsnova/controller/UserController.java @@ -94,7 +94,7 @@ public class UserController extends AbstractController { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); } - @RequestMapping(value = { "/{username}" }, method = RequestMethod.DELETE) + @RequestMapping(value = { "/{username}/" }, method = RequestMethod.DELETE) public final void activate( @PathVariable final String username, final HttpServletRequest request, diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java index 6ea5398051859444da664560c7b78e94c46902b7..222991cc7be284f5cea1bc3123d06754ac397d2e 100644 --- a/src/main/java/de/thm/arsnova/services/UserService.java +++ b/src/main/java/de/thm/arsnova/services/UserService.java @@ -425,7 +425,7 @@ public class UserService implements IUserService { public DbUser deleteDbUser(String username) { User user = getCurrentUser(); if (!user.getUsername().equals(username) - && SecurityContextHolder.getContext().getAuthentication().getAuthorities() + && !SecurityContextHolder.getContext().getAuthentication().getAuthorities() .contains(new SimpleGrantedAuthority("ROLE_ADMIN"))) { throw new UnauthorizedException(); }