-
Bug
-
Resolution: Fixed
-
P2
-
7u21, 7u25, 8
-
b96
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8019737 | 7u60 | Alexey Utkin | P2 | Resolved | Fixed | b01 |
JDK-8019457 | 7u45 | Alexey Utkin | P2 | Closed | Fixed | b01 |
JDK-8016049 | 7u40 | Alexey Utkin | P2 | Closed | Fixed | b31 |
JDK-8022877 | 6-pool | Sean Coffey | P2 | Closed | Cannot Reproduce | |
JDK-8023504 | 6u71 | Sean Coffey | P2 | Resolved | Fixed | b01 |
JDK-8022878 | 6u65 | Sean Coffey | P2 | Closed | Fixed | b08 |
JDK-8023962 | 5.0u61 | Sean Coffey | P2 | Resolved | Fixed | b01 |
JDK-8024187 | 5.0u55 | Sean Coffey | P2 | Closed | Fixed | b08 |
The changes in JDK-8005942 (with follow up changes JDK-8009463 and
These changes are causing huge pain to developers and customers that have been using Runtime.exec and ProcessBuilder in insecure and sloppy ways. In summary we cannot change the JDK to impose rules around quoting and special cases after 15 years without causing major breakage and compatibility issues for customers and developers.
This bug is submitted to re-visit this topic with a view to only imposing the strict parsing and checking when there is a security manager set. When not running with a security manager then the JDK should just pass the command to Windows as it always did. Clearly there is still potential for breakage when running with a security manager but any usages of Runtime.exec and ProcessBuilder in this context need to be done in a secure manner.
One downside of reverting to long standing behavior that developers will continue to use Runtime.exec in sloppy ways. One possible aid would be to introduce a property that allows developers to strict parsing. If the diagnostic output is good then it would help developers to create the command strings correctly.
- backported by
-
JDK-8019737 (process) Strict validation of input should be security manager case only [win]
- Resolved
-
JDK-8023504 (process) Strict validation of input should be security manager case only [win]
- Resolved
-
JDK-8023962 (process) Strict validation of input should be security manager case only [win]
- Resolved
-
JDK-8016049 (process) Strict validation of input should be security manager case only [win]
- Closed
-
JDK-8019457 (process) Strict validation of input should be security manager case only [win]
- Closed
-
JDK-8022877 (process) Strict validation of input should be security manager case only [win]
- Closed
-
JDK-8022878 (process) Strict validation of input should be security manager case only [win]
- Closed
-
JDK-8024187 (process) Strict validation of input should be security manager case only [win]
- Closed
- duplicates
-
JDK-8017467 Misspelling in property name jdk.lang.Process.allowAmbigousCommands
- Closed
- relates to
-
JDK-7051946 Runtime.exec(String command) / ProcessBuilder command parsing issues
- Resolved