kernel/team: Add permissions checks in get_extended_team_info.
Diff
src/system/kernel/team.cpp | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
@@ -4456,6 +4456,15 @@
return B_BAD_ADDRESS;
}
Team* team = Team::Get(teamID);
if (team == NULL)
return B_BAD_TEAM_ID;
BReference<Team> teamReference(team, true);
uid_t uid = geteuid();
if (uid != 0 && uid != team->effective_uid)
return B_NOT_ALLOWED;
KMessage info;
if ((flags & B_TEAM_INFO_BASIC) != 0) {
@@ -4473,12 +4482,7 @@
io_context* ioContext;
{
Team* team = Team::GetAndLock(teamID);
if (team == NULL)
return B_BAD_TEAM_ID;
BReference<Team> teamReference(team, true);
TeamLocker teamLocker(team, true);
TeamLocker teamLocker(team);
teamClone.id = team->id;