mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
Java: add File.getName as a path injection sanitizer
This commit is contained in:
@@ -71,4 +71,19 @@ public class TaintedPath {
|
||||
fileLine = fileReader.readLine();
|
||||
}
|
||||
}
|
||||
|
||||
public void sendUserFileGood4(Socket sock, String user) throws IOException {
|
||||
BufferedReader filenameReader =
|
||||
new BufferedReader(new InputStreamReader(sock.getInputStream(), "UTF-8"));
|
||||
String filename = filenameReader.readLine();
|
||||
File file = new File(filename);
|
||||
String baseName = file.getName();
|
||||
// GOOD: only use the final component of the user provided path
|
||||
BufferedReader fileReader = new BufferedReader(new FileReader(baseName));
|
||||
String fileLine = fileReader.readLine();
|
||||
while (fileLine != null) {
|
||||
sock.getOutputStream().write(fileLine.getBytes());
|
||||
fileLine = fileReader.readLine();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user