Skip to content

Pentest Erugo #243

Description

@BenjCLN

Bonjour,

Nous avons effectué un Pentest sur la solution Erugo et voici les retours que nous avons eu à ce sujet, est-ce qu'il serait possible pour vous de l'implémenter nativement à la solution :

L'application Erugo ne déploie aucun en-tête Content-Security-Policy.
En l'absence de CSP, toute vulnérabilité XSS (reflétée ou stockée) peut être exploitée sans restriction : exécution de scripts inline, chargement de
ressources externes, exfiltration de données vers des domaines tiers.
De plus, les en-têtes X-Content-Type-Options et X-Frame-Options sont également absents

Remédiation
Ajouter un en-tête CSP restrictif dans la configuration Caddy :

header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; frame-ancestors '
none'; form-action 'self';"
header X-Content-Type-Options "nosniff"
header X-Frame-Options "DENY"

Le serveur Erugo expose la version exacte de PHP (8.3.14) via l'en-tête HTTP X-Powered-By .
Bien que cette version soit récente et sans CVE critique connue à ce jour, l'exposition de la version facilite la reconnaissance pour un attaquant.

Remédiation
Supprimer l'en-tête
X-Powered-By : expose_php = Off dans php.ini

L'endpoint de mise à jour du profil utilisateur permet de modifier l'adresse email du compte sans :

  • Envoyer un email de vérification à la nouvelle adresse
  • Demander le mot de passe actuel ou une ré-authentification
  • Vérifier l'unicité de l'email (un email déjà assigné à un autre utilisateur est accepté

Remédiation
Ne pas permettre une modification du profil utilisateur (Nom, Prénom, Adresse mail) quand la solution est liée à un OIDC / LDAP, etc.

Est-il possible d'avoir ces évolutions de présentes dans les prochaines versions de l'application ?

Cordialement,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions