False positive: Java: Uncontrolled data used in path expression
- Langage dominant
- CodeQL
- Étoiles
- 10.1k
- Forks
- 2.1k
- Merge moyen
- 2 j 15 h
- PR mergées (30 j)
- 141
Description
**Description of the false positive**
This shouldn't be included because there is an adequate guard protecting against a path traversal payload.
**Code samples or links to source code**
```java
private Path indexRootPath(final String name) {
final Path result = rootDir.resolve(name);
if (result.startsWith(rootDir)) {
return result;
}
throw new WebApplicationException(name + " attempts to escape from index root directory", Status.BAD_REQUEST);
}
```
https://github.com/apache/couchdb/blob/43ab37ba6115851297de0804c563c1f0d23bf52a/nouveau/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java#L267-L273
**URL to the alert on GitHub code scanning (optional)**
https://github.com/Wolfi-Chainguard-Demo/apache__couchdb/security/code-scanning/6
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par le code Java lié dans nouveau/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java aux lignes 267-273 et examinez l’alerte CodeQL associée. Suivez la logique de la requête qui signale l’expression de chemin et déterminez comment la garde startsWith est représentée. Aucun fichier de test n’est indiqué ; le travail est terminé lorsque ce code protégé n’est plus signalé comme une expression de chemin non contrôlée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- security
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100