The S-Unit

The S-Unit Top 10

TSU-06: Use of outdated or end-of-life components

TSU-06: Use of outdated or end-of-life components

TSU-06 gaat over beveiligingsproblemen die ontstaan door het gebruik van verouderde softwarecomponenten in Mendix-applicaties. Een Mendix-applicatie bestaat uit verschillende onderdelen die elk hun eigen levenscyclus en versies hebben en dus ook apart bijgehouden moeten worden, zoals:

  • de Mendix runtime
  • geïmporteerde Marketplace-modules
  • Java-afhankelijkheden die worden gebruikt door backend-modules
  • JavaScript-afhankelijkheden die worden gebruikt door widgets en JavaScript actions

Gevolgen outdated of end-of-life components

Wanneer beveiligingsupdates voor deze componenten niet (op tijd) worden doorgevoerd, kunnen bekende kwetsbaarheden automatisch worden misbruikt. De impact hiervan verschilt per kwetsbaarheid en kan variëren van:

  • het overnemen van gebruikerssessies (bijvoorbeeld via cross-site scripting)
  • tot het uitvoeren van code via kwetsbare Java-componenten

Best practices voor het veilig beheren en updaten van Mendix-componenten

Zorg er bij het ontwikkelen van een Mendix-applicatie voor dat je processen en tooling hebt om software- en security-updates te volgen en toe te passen. De volgende best practices helpen daarbij:

1. Inzicht in componenten & afhankelijkheden

  • Houd een actuele Software Bill of Materials (SBOM) bij met een overzicht van alle gebruikte componenten in je applicatie.
    Mendix kan hiervoor een eerste indicatie geven via de Software Composition Service.

  • Gebruik aanvullende scan-tools om afhankelijkheden te detecteren die niet door de Mendix Software Composition Service worden meegenomen, zoals:

    • ingesloten of geminificeerde JavaScript-libraries

    • ingesloten of geobfusceerde Java JAR-bestanden

2. Stabiele en voorspelbare runtime

  • Zorg dat je applicatie draait op een MTS- of LTS-versie van de Mendix runtime, om onverwachte of brekende wijzigingen bij runtime-updates te voorkomen.

3. Veilig omgaan met Marketplace-modules

  • Pas Marketplace-modules niet direct aan, om problemen bij updates te voorkomen.
    Implementeer maatwerk in een apart module dat samenwerkt met de standaard Marketplace-module.

  • Hebben aanpassingen invloed op toegangsregels van een Marketplace-module?

    • verwijder directe roltoewijzingen binnen de Marketplace-module

    • verplaats relevante securitycontroles en interacties naar aparte (niet-persistente) entiteiten en microflows

Kwetsbaarheden binnen TSU-06

Dit zijn de meest voorkomende risico’s bij outdated of end-of life componenten.

  • Omzeiling van beveiliging door verouderde Marketplace-modules met bekende kwetsbaarheden (bijvoorbeeld in ForgotPassword, Encryption, SAML20)
  • Omzeilen van XPath-beperkingen door een runtime-versie met bekende kwetsbaarheden (zoals SSA-252808, SSA-148641)
  • Privilege-escalatie door een runtime-versie met bekende kwetsbaarheden (zoals SSA-540640)
  • Cross-site scripting (XSS) door verouderde JavaScript-libraries (zoals CKEditor, jQuery)

Train je Mendix security skills

Herkennen en vroegtijdig voorkomen van kwetsbaarheden in Mendix? Bekijk onze vernieuwde Mendix-securitytrainingen gebaseerd op The S-Unit Top 10.

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. Lees meer over onze samenwerking met Omnext en de Mendix specifieke SAST-module.