Преглед изворни кода

Merge pull request #69 from yehudasa/wip-setgroups

call setgroups() to avoid supplemental group leakage
bel2125 пре 10 година
родитељ
комит
d7e9d19fa9
1 измењених фајлова са 2 додато и 0 уклоњено
  1. 2 0
      src/civetweb.c

+ 2 - 0
src/civetweb.c

@@ -6664,6 +6664,8 @@ static int set_uid_option(struct mg_context *ctx)
             mg_cry(fc(ctx), "%s: unknown user [%s]", __func__, uid);
         } else if (setgid(pw->pw_gid) == -1) {
             mg_cry(fc(ctx), "%s: setgid(%s): %s", __func__, uid, strerror(errno));
+        } else if (setgroups(0, NULL)) {
+            mg_cry(fc(ctx), "%s: setgroups(): %s", __func__, strerror(errno));
         } else if (setuid(pw->pw_uid) == -1) {
             mg_cry(fc(ctx), "%s: setuid(%s): %s", __func__, uid, strerror(errno));
         } else {