The S-Unit

The S-Unit Top 10

The S-Unit Top 10, TSU-01 Insecure User roles

TSU-01: Insecure user roles

TSU-01 laat zien welke risico’s ontstaan als rechten in Mendix te ruim zijn ingesteld. Wanneer gebruikers te ruime rechten krijgen, kunnen ze toegang krijgen tot functies of data die niet voor hen bedoeld zijn met datalekken als mogelijk gevolg. Een veilige configuratie begint bij het beperken van rechten tot wat strikt noodzakelijk is, het vermijden van dubbele rollen en het zorgvuldig toewijzen van module roles. Door deze principes consequent toe te passen, houd je controle over gebruikersrechten en verklein je de kans op misbruik.

Te ruime rechten? Zo ontstaan kwetsbaarheden in User Roles

Mendix gebruikt Role Based Access Control (RBAC) om te bepalen welke acties een gebruiker mag uitvoeren. Elke gebruiker heeft één of meer User Roles, gekoppeld aan specifieke module roles en soms aangevuld met rechten voor user management.
Worden deze rollen verkeerd geconfigureerd, dan krijgen gebruikers meer toegang dan bedoeld met alle gevolgen van dien, zoals ongewenste datatoegang of zelfs een datalek.

TSU-01 vs TSU-02

TSU-01 en TSU-02 worden vaak door elkaar gehaald. Beide draaien om gebruikers met te veel toegang, maar wie het verschil kent, kan gerichter risico’s voorkomen.

TSU-01
  • Bij TSU 01 is de toegangsregel juist, maar de module role is gekoppeld aan de verkeerde User Role.
TSU-02
  • Bij TSU 02 is de toegangsregel zelf onjuist, ongeacht aan welke User Role deze is gekoppeld.

Zet veiligheid boven gemak: beperk toegang User Roles

Beperk de macht van gebruikers tot wat noodzakelijk is.
Zo houd je controle over je applicatie en voorkom je TSU-01-kwetsbaarheden. Volg deze best practices als richtlijn.

  • Wijs geen User Management-rechten toe aan User Roles. Gebruik in plaats daarvan microflows en XPath-constraints om gebruikers veilig te beheren.
  • Geef elke gebruiker slechts één User Role. Is flexibele toegang nodig? Breid het RBAC-systeem uit met permissie-entiteiten, XPath-constraints en microflow-logica die de beveiliging per rol blijft afdwingen.
  • Lukt het niet om specifieke module roles te maken (bijvoorbeeld bij veel geüpdatete Marketplace-modules)? Controleer dan zorgvuldig welke rollen echt nodig zijn en of ze passen bij de beveiligingseisen van je applicatie.
  • Maak module roles die specifiek zijn voor elke User Role. Vermijd standaardrollen of meerdere module roles binnen één module.

Kwetsbaarheden binnen TSU-01

Let op deze veelvoorkomende configuratiefouten om te voorkomen dat gebruikers meer toegang krijgen dan bedoeld.

  • Administratieve module roles toegewezen aan niet-administratieve gebruikers: hierdoor krijgen gewone gebruikers toegang tot functies of data die alleen voor beheerders bedoeld zijn.
  • Gevoelige marketplace module roles toegewezen aan niet-administratieve gebruikers: dit kan leiden tot ongewenste toegang tot externe of kritieke onderdelen van de applicatie.
  • Conflicterende module roles: rollen met overlappende of tegenstrijdige rechten kunnen beveiligingsregels omzeilen.
  • Conflicterende user roles: wanneer een gebruiker meerdere rollen krijgt met verschillende rechten, kan dit leiden tot onverwachte escalatie van privileges.
  • User management-rechten toegewezen aan niet-administratieve gebruikers: gebruikers kunnen andere accounts wijzigen of verwijderen, wat een risico vormt voor de integriteit van de applicatie.
  • User management-rechten toegewezen aan tenant-level beheerders in multi-tenant omgevingen: dit kan ervoor zorgen dat één tenant onbedoeld toegang krijgt tot gegevens of instellingen van een andere tenant.

Integreer The S-Unit Top 10 in je CI/CD-pijplijn

Wil je weten hoe jouw Mendix applicatie scoort op The S-Unit Top 10?
In samenwerking met Omnext hebben we een Mendix-specifieke SAST-oplossing gemaakt die continu en automatisch scant op kwetsbaarheden. Door de integratie van de The S-Unit Top 10 in de CI/CD-pijplijn worden risico’s vroegtijdig opgespoord en direct inzichtelijk gemaakt. Voor vragen, contact ons.