Only Administrative Users should be able to retreive the user Information of other users from the API.
When the username is known (or guessed) every user can get details about every user.
# http -a hulle GET https://nuci3.local.lan/graylog/api/users/Nobody
http: password for [email protected]:
HTTP/1.1 200 OK
{
"client_address": null,
"email": "[email protected]",
"external": false,
"full_name": "I. M. Nobody",
"id": "5af475b28c4d850001c17cb2",
"last_activity": null,
"permissions": [],
"preferences": {
"enableSmartSearch": true,
"updateUnfocussed": false
},
"read_only": false,
"roles": [
"Reader",
"Default - No Access"
],
"session_active": false,
"session_timeout_ms": 300000,
"startpage": null,
"timezone": "America/Chicago",
"username": "Nobody"
}
Make the user details only available for the user themself and the Admin.
When running with multiple Users that are not known to each other on the same Graylog Setup, every User would be able to retreive Information about other users. Including what they can access.
This is worse from a company perspective revealing their customer details to other customers, but in addition this could be used as initial informations for further attacks against Graylog.
The DeLorean will be useful to fix this bug :

This bug has been fixed in #5079 and the fix will be in the upcoming 2.5 release.
Most helpful comment
The DeLorean will be useful to fix this bug :
