Exécuter une analyse statique (SAST) sur le code source à la recherche du motif non sécurisé dans le flux de données.
Path Equivalence: '//multiple/leading/slash'
This vulnerability occurs when an application accepts file or directory paths containing multiple leading slashes (like '//multiple/leading/slash') without proper normalization. Attackers can…
What is CWE-50?
Real-world CVEs caused by CWE-50
-
Read files with full pathname using multiple internal slash.
-
Server allows remote attackers to read arbitrary files via a GET request with more than one leading / (slash) character in the filename.
-
Server allows remote attackers to read arbitrary files via leading slash (//) characters in a URL request.
-
Server allows remote attackers to bypass authentication and read restricted files via an extra / (slash) in the requested URL.
-
Product allows local users to delete arbitrary files or create arbitrary empty files via a target filename with a large number of leading slash (/) characters.
-
Server allows remote attackers to bypass access restrictions for files via an HTTP request with a sequence of multiple / (slash) characters such as http://www.example.com///file/.
-
Product allows remote attackers to bypass authentication, obtain sensitive information, or gain access via a direct request to admin/user.pl preceded by // (double leading slash).
-
Server allows remote attackers to execute arbitrary commands via a URL with multiple leading "/" (slash) characters and ".." sequences.
Parcours de l'attaquant étape par étape
- 1
Identifier un chemin de code qui traite des entrées non fiables sans validation.
- 2
Élaborer une charge utile qui exploite le comportement non sécurisé — injection, traversal, débordement ou abus de logique.
- 3
Délivrer la charge utile via une requête normale et observer la réaction de l'application.
- 4
Itérer jusqu'à ce que la réponse divulgue des données, exécute le code de l'attaquant ou élève les privilèges.
Vulnerable pseudo
MITRE n'a pas publié d'exemple de code pour ce CWE. Le motif ci-dessous est illustratif — voir Ressources pour les références canoniques.
// Example pattern — see MITRE for the canonical references.
function handleRequest(input) {
// Untrusted input flows directly into the sensitive sink.
return executeUnsafe(input);
} Secure pseudo
// Validate, sanitize, or use a safe API before reaching the sink.
function handleRequest(input) {
const safe = validateAndEscape(input);
return executeWithGuards(safe);
} How to prevent CWE-50
- Architecture Use safe-by-default frameworks and APIs that prevent the unsafe pattern from being expressible.
- Implementation Validate input at trust boundaries; use allowlists, not denylists.
- Implementation Apply the principle of least privilege to credentials, file paths, and runtime permissions.
- Testing Cover this weakness in CI: SAST rules + targeted unit tests for the data flow.
- Operation Monitor logs for the runtime signals listed in the next section.
How to detect CWE-50
Exécuter des tests de sécurité applicative dynamique (DAST) contre le point de terminaison en ligne.
Surveiller les journaux runtime pour détecter des traces d'exception inhabituelles, des entrées malformées ou des tentatives de contournement d'autorisation.
Revue de code : signaler tout nouveau code qui traite les entrées de cette surface sans utiliser les helpers du framework validés.
Plexicus détecte automatiquement CWE-50 et ouvre une PR de correction en moins de 60 secondes.
Codex Remedium analyse chaque commit, identifie cette faiblesse précise et livre une pull request prête à être relue avec le correctif. Pas de tickets. Pas de transferts.
Frequently asked questions
Qu'est-ce que CWE-50 ?
This vulnerability occurs when an application accepts file or directory paths containing multiple leading slashes (like '//multiple/leading/slash') without proper normalization. Attackers can exploit this ambiguity to bypass security checks, potentially accessing files or directories outside the intended scope.
Quelle est la gravité de CWE-50 ?
MITRE n'a pas publié de note de probabilité d'exploitation pour cette faiblesse. Traitez-la comme un impact moyen jusqu'à ce que votre modèle de menace prouve le contraire.
Quels langages ou plateformes sont affectés par CWE-50 ?
MITRE n'a pas spécifié les plateformes affectées pour ce CWE — il peut s'appliquer à la plupart des stacks applicatives.
Comment puis-je prévenir CWE-50 ?
Use safe-by-default frameworks, validate untrusted input at trust boundaries, and apply the principle of least privilege. Cover the data-flow signature in CI with SAST.
Comment Plexicus détecte et corrige CWE-50 ?
Le moteur SAST de Plexicus reconnaît la signature de flux de données de CWE-50 à chaque commit. Lorsqu'une correspondance est trouvée, notre agent Codex Remedium ouvre une PR de correction avec le code corrigé, les tests et un résumé d'une ligne pour le relecteur.
Où puis-je en savoir plus sur CWE-50 ?
MITRE publie la définition canonique à https://cwe.mitre.org/data/definitions/50.html. Vous pouvez également consulter la documentation OWASP et NIST pour des conseils adjacents.
Weaknesses related to CWE-50
Improper Resolution of Path Equivalence
This vulnerability occurs when an application fails to properly handle different text representations that refer to the same file or…
Path Equivalence: 'filename.' (Trailing Dot)
This vulnerability occurs when a system accepts file or directory paths that end with a dot (like 'file.txt.' or 'folder.') without…
Path Equivalence: 'file.name' (Internal Dot)
This vulnerability occurs when an application accepts file paths containing internal dots (like 'file.ordir') without properly checking…
Path Equivalence: 'filename ' (Trailing Space)
This vulnerability occurs when an application processes file paths that end with a space character (like 'document.txt ') without properly…
Path Equivalence: ' filename' (Leading Space)
This vulnerability occurs when an application accepts file or directory paths that begin with a space character (like ' filename'),…
Path Equivalence: 'file name' (Internal Whitespace)
This vulnerability occurs when an application accepts file paths containing internal spaces (like 'file name') without proper validation.…
Path Equivalence: 'filename/' (Trailing Slash)
This vulnerability occurs when an application accepts file or directory paths that end with a slash (e.g., 'documents/') without properly…
Path Equivalence: '/multiple//internal/slash'
This vulnerability occurs when an application accepts file or directory paths containing multiple consecutive forward slashes (e.g.,…
Path Equivalence: '/multiple/trailing/slash//'
This vulnerability occurs when an application accepts file or directory paths containing multiple consecutive forward slashes (like…
Arrêtez de payer par développeur.
Commencez à fermer la boucle.
Plexicus est l'ASPM natif IA qui scanne, filtre, corrige, penteste et explique — de façon autonome. Développeurs illimités, dépôts illimités, actions IA à usage équitable. Vrai niveau gratuit, €269/mo annuel quand vous êtes prêt.