False positive: Java: Uncontrolled data used in path expression
- Ngôn ngữ chính
- CodeQL
- Star
- 10.1k
- Fork
- 2.1k
- Merge trung bình
- 2 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 141
Mô tả
**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
Hướng dẫn đóng góp
Hướng nghiên cứu
Start with the linked Java code in nouveau/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java at lines 267-273 and inspect the associated CodeQL alert. Trace the query logic that reports the path expression and determine how the startsWith guard is represented. No test file is named; done means this guarded code is no longer reported as an uncontrolled path expression.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- security
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100