The S-Unit

The S-Unit Top 10

TSU-02: INsecure entity access

TSU-02: Insecure entity access configuration

Zelfs een goed gebouwde Mendix-applicatie kan kwetsbaar worden als de entity access-regels niet juist zijn ingesteld.
TSU-02 maakt inzichtelijk welke risico’s ontstaan door onveilige toegangsdefinities en biedt praktische stappen om je data te beschermen.

Onjuiste Entity accessconfiguratie? Groot risico voor je data

Mendix gebruikt Role Based Access Control (RBAC) om te bepalen welke acties een gebruiker binnen een applicatie mag uitvoeren. In dit systeem zijn User Roles gekoppeld aan module roles, en deze module roles bevatten entity access-regels die bepalen hoe data mag worden gelezen, aangemaakt, gewijzigd of verwijderd.

Wanneer een module role onveilig is geconfigureerd, kan een gebruiker meer toegang tot data krijgen dan bedoeld. Daardoor kunnen gevoelige gegevens worden ingezien of aangepast, wat vaak leidt tot 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.

Hoe stel je je entity access goed in?

Om TSU-02-kwetsbaarheden te voorkomen, stel je de entity access-regels zorgvuldig in en geef je alleen de rechten die nodig zijn voor de werking van je applicatie. Volg deze best practices:

  • Koppel elke access-regel aan slechts één module role. Houd regels per User Role specifiek, zodat rechten tot een minimum beperkt blijven.
  • Vermijd directe create- of delete-rechten. Gebruik in plaats daarvan microflows die de juiste beveiligingscontroles uitvoeren.
  • Wijs nooit write- of delete-rechten toe aan persistente entiteiten zonder een XPath-constraint. Zonder deze beperking kunnen gebruikers gedeelde of persoonlijke data aanpassen of verwijderen.
  • Vermijd directe write-rechten op attributen die de integriteit of beveiliging beïnvloeden. Voer wijzigingen uit via microflows die invoer valideren met behulp van helper-entiteiten of attributen. Dit geldt voor:
  • Attributen die worden gebruikt in XPath-constraints
  • Attributen die worden gecontroleerd binnen microflow-beveiliging
  • Associaties die zijn gekoppeld aan gevoelige data
  • Gebruik geschikte XPath-constraints voor data die:
  • Gebruikersspecifiek is (zoals financiële of medische gegevens)
  • Groepsspecifiek is (zoals bedrijfs- of projectdata)
  • Statusspecifiek is (zoals concept/gepubliceerd of goedgekeurd/afgewezen)
  • Wijs geen create-rechten toe aan een entiteit als dezelfde rol write-rechten heeft onder een XPath-constraint. Deze combinatie kan de constraint omzeilen bij het opslaan van nieuwe objecten.

Kwetsbaarheden binnen TSU-02

De volgende kwetsbaarheden komen vaak voor bij onveilige Entity Access-configuraties en laten zien waar het mis kan gaan in de praktijk.

  • Lees- of schrijfrechten op gevoelige data, zoals applicatiegeheimen of inloggegevens. Dit kan vertrouwelijke informatie blootleggen.
  • Ontbrekende of onjuiste XPath-constraints, waardoor gebruikers data kunnen inzien, wijzigen of verwijderen die buiten hun rechten valt.
  • Create- of delete-rechten op integriteitskritieke entiteiten, zoals auditlogs, die essentieel zijn voor traceerbaarheid.
  • Schrijfrechten op attributen of associaties die in XPath-constraints worden gebruikt, wat beveiligingsregels kan omzeilen.
  • Schrijfrechten op attributen die in microflow-beveiliging of gevoelige logica worden gebruikt, wat ongewenste acties of privilege-escalatie kan veroorzaken.
  • Combinatie van create- en write-rechten onder XPath, waarmee validatie kan worden omzeild en ongeautoriseerde data kan worden opgeslagen.
  • Omzeilen van datavalidatie via directe write-toegang, wat kan leiden tot inconsistente of gemanipuleerde data.
  • Conflicterende toegangsregels, waarbij overlappende rechten de beveiliging verzwakken.

TSU-02 richt zich op onveilige configuratie van entity access-regels, een veelvoorkomend maar ernstig risico binnen Mendix-applicaties.
Door toegangsregels zorgvuldig te definiëren en strikte XPath-constraints toe te passen, zorg je dat gebruikers alleen bij de data kunnen die voor hen bedoeld is.

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. Wil je meer informatie? Contact ons.