Re: [PATCH] libsepol: validate attribute-type maps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 12, 2024 at 11:33 AM James Carter <jwcart2@xxxxxxxxx> wrote:
>
> On Sat, Jun 8, 2024 at 1:18 PM Christian Göttsche
> <cgoettsche@xxxxxxxxxxxxx> wrote:
> >
> > From: Christian Göttsche <cgzones@xxxxxxxxxxxxxx>
> >
> > Ensure the attribute-to-type maps contain no invalid entries, required
> > for generating typeattributeset statements when converting to CIL.
> >
> > Reported-by: oss-fuzz (issue 69283)
> > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx>
>
> Acked-by: James Carter <jwcart2@xxxxxxxxx>
>

Merged.
Thanks,
Jim

> > ---
> >  libsepol/src/policydb_validate.c | 23 +++++++++++++++++++++++
> >  1 file changed, 23 insertions(+)
> >
> > diff --git a/libsepol/src/policydb_validate.c b/libsepol/src/policydb_validate.c
> > index 84c1071c..9746f562 100644
> > --- a/libsepol/src/policydb_validate.c
> > +++ b/libsepol/src/policydb_validate.c
> > @@ -1654,6 +1654,26 @@ bad:
> >         return -1;
> >  }
> >
> > +static int validate_attrtype_map(sepol_handle_t *handle, const policydb_t *p, validate_t flavors[])
> > +{
> > +       const ebitmap_t *maps = p->attr_type_map;
> > +       uint32_t i;
> > +
> > +       if (p->policy_type == POLICY_KERN) {
> > +               for (i = 0; i < p->p_types.nprim; i++) {
> > +                       if (validate_ebitmap(&maps[i], &flavors[SYM_TYPES]))
> > +                               goto bad;
> > +               }
> > +       } else if (maps)
> > +               goto bad;
> > +
> > +       return 0;
> > +
> > +bad:
> > +       ERR(handle, "Invalid attr type map");
> > +       return -1;
> > +}
> > +
> >  static int validate_properties(sepol_handle_t *handle, const policydb_t *p)
> >  {
> >         switch (p->policy_type) {
> > @@ -1790,6 +1810,9 @@ int policydb_validate(sepol_handle_t *handle, const policydb_t *p)
> >         if (validate_typeattr_map(handle, p, flavors))
> >                 goto bad;
> >
> > +       if (validate_attrtype_map(handle, p, flavors))
> > +               goto bad;
> > +
> >         validate_array_destroy(flavors);
> >
> >         return 0;
> > --
> > 2.45.1
> >
> >





[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux