The S-Unit

The S-Unit Top 10

TSU-05: Insecure Consumed Integrations

TSU-05: Insecure consumption of integrations

TSU-05 gaat over beveiligingsproblemen die ontstaan wanneer microflows externe systemen (API’s) aanroepen, zoals via SOAP, REST of OData. In Mendix worden zulke externe diensten vaak gebruikt om gegevens van of over gebruikers te verwerken. Die gegevens worden dan meegestuurd in de URL of in de inhoud van het HTTP-verzoek.

Gevolgen onveilige gebruikersinvoer

Kwetsbaarheden ontstaan wanneer gebruikersinvoer op een onveilige manier wordt gebruikt om zo’n URL of verzoek op te bouwen. Dit kan leiden tot:

  • ongeautoriseerde toegang tot functies van een backend-API
  • het aanpassen of misbruiken van data via injectie (bijvoorbeeld door ‘path traversal’)
  • aanvallen waarbij de applicatie zelf andere systemen benadert, zoals bij Server Side Request Forgery (SSRF)

Best practices voor veilige API-integraties in Mendix microflows

Wanneer een microflow een externe webservice aanroept, moet je zowel de opbouw van de URL als de inhoud van het verzoek goed beveiligen. Zorg dat de betrokken microflow of het back-end systeem controleert of de gebruiker de gekozen web service mag gebruiken. 

Deze best practices helpen daarbij:

1. Veilige opbouw van URL’s en paden

  • Gebruik geen door gebruikers te wijzigen attributen voor de hostnaam van een URL (tot en met de eerste / in het pad).
    → Gebruik vaste waarden, zoals Mendix-constanten.
  • Vermijd het opbouwen van een backend-URL pad met gebruikersinvoer
  • Moet er toch een gebruikersspecifieke waarde in de URL (bijv. een gebruikers-ID)?
    • zorg dat de gebruiker dit attribuut niet zelf kan aanpassen
    • genereer het attribuut niet op basis van gebruikersinput
  • Gebruik altijd urlEncode() wanneer attributen onderdeel zijn van een URL (pad of query), om path traversal en parameter-injectie te voorkomen.

2. Omgaan met user-supplied URL’s (bijv. webhooks)

  • Als je gebruikers-URL’s móét accepteren:
    • zorg dat het verzoek geen wachtwoorden of andere gevoelige gegevens bevat
    • toon geen HTTP-responses of foutmeldingen rechtstreeks aan de gebruiker

3. Bescherming tegen Server Side Request Forgery (SSRF)

  • Als je verkeer naar interne services wilt blokkeren (bijv. via whitelist of blacklist):
    • houd rekening met het feit dat de Mendix REST client automatisch redirects volgt
    • overweeg een andere HTTP-client waarbij redirects expliciet zijn uitgeschakeld

4. Veilige opbouw van request bodies

  • Bouw JSON- of XML-verzoeken nooit via string-concatenatie.
    • REST → gebruik altijd Export Mappings
    • SOAP → gebruik Export Mappings of Simple Expressions
  • Voor andere request-types (a=b&c=d):
    • zorg dat alle waarden correct worden ge-encodeerd (bijv. met urlEncode())

5. Authenticatie en autorisatie

  • Als de backend API dit ondersteunt:
    • gebruik authenticatie op de backend API, zodat de backend zelf de toegang kan beperken tot enkel de rechten van de eindgebruiker
  • Is dat niet mogelijk?
    • implementeer in de microflow expliciete autorisatiecontroles
      (bijvoorbeeld om Insecure Direct Object References te voorkomen)

Kwetsbaarheden binnen TSU-05

Dit zijn de meest voorkomende risico’s bij verkeerd ingerichte Published Integrations.

  • Manipulatie van API-calls via path traversal
  • Manipulatie via parameter-injectie
  • XML-injectie
  • JSON-injectie
  • Ongeautoriseerde toegang tot data via Insecure Direct Object Reference
  • Onbedoeld uitlekken van gevoelige data via Server Side Request Forgery
  • Ongeautoriseerde toegang tot interne systemen via Server Side Request Forgery

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.