|
@@ -505,6 +505,11 @@ int cap_bprm_set_creds(struct linux_binprm *bprm)
|
|
}
|
|
}
|
|
skip:
|
|
skip:
|
|
|
|
|
|
|
|
+ /* if we have fs caps, clear dangerous personality flags */
|
|
|
|
+ if (!cap_issubset(new->cap_permitted, old->cap_permitted))
|
|
|
|
+ bprm->per_clear |= PER_CLEAR_ON_SETID;
|
|
|
|
+
|
|
|
|
+
|
|
/* Don't let someone trace a set[ug]id/setpcap binary with the revised
|
|
/* Don't let someone trace a set[ug]id/setpcap binary with the revised
|
|
* credentials unless they have the appropriate permit
|
|
* credentials unless they have the appropriate permit
|
|
*/
|
|
*/
|