diff options
| author | Christian Göttsche <cgzones@googlemail.com> | 2026-09-28 18:52:53 +0200 |
|---|---|---|
| committer | Paul Moore <paul@paul-moore.com> | 2026-09-30 16:59:43 -0400 |
| commit | d0e7866390ad1ae2cf24c8d3bf9856e44fd135b5 (patch) | |
| tree | 4fb6c4d45cfec3099dbe8e66b6f7298f19ee6884 /include/linux/timerqueue.h | |
| parent | 7e3e23305d13db5fa7cfaa2dbc9ab430218025c6 (diff) | |
| download | linux-next-d0e7866390ad1ae2cf24c8d3bf9856e44fd135b5.tar.gz linux-next-d0e7866390ad1ae2cf24c8d3bf9856e44fd135b5.zip | |
selinux: bounds-check role and user membership bitmaps at load
role->dominates, role->types and user->roles are read as ebitmaps but
their set bits are never checked against the role and type symbol
tables. A bit naming an undefined value is silently accepted, and an
out-of-range one is used to index those tables later; in particular
role_bounds_sanity_check() passes such a bit straight to sym_name(),
reading p->sym_val_to_name[] out of bounds on a crafted bounded role.
Validate the three bitmaps in policydb_index() once every symbol table
is populated (roles are read before types, so this cannot be done in
role_read()).
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
