File tree Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Expand file tree Collapse file tree 1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change 1111 $ magentoObjectManager = $ magentoObjectManagerFactory ->create ($ _SERVER );
1212 $ tokenModel = $ magentoObjectManager ->get (\Magento \Integration \Model \Oauth \Token::class);
1313
14- $ tokenPassedIn = urldecode ($ _POST ['token ' ]);
15- $ command = urldecode ($ _POST ['command ' ]);
16- $ arguments = urldecode ($ _POST ['arguments ' ]);
14+ $ tokenPassedIn = urldecode ($ _POST ['token ' ] ?? "" );
15+ $ command = urldecode ($ _POST ['command ' ] ?? "" );
16+ $ arguments = urldecode ($ _POST ['arguments ' ] ?? "" );
1717
1818 // Token returned will be null if the token we passed in is invalid
1919 $ tokenFromMagento = $ tokenModel ->loadByToken ($ tokenPassedIn )->getToken ();
2222 $ magentoBinary = $ php . ' -f ../../../../bin/magento ' ;
2323 $ valid = validateCommand ($ magentoBinary , $ command );
2424 if ($ valid ) {
25- $ process = new Symfony \Component \Process \Process ($ magentoBinary . " $ command " . " $ arguments " );
25+ // Turn string into array for symfony escaping
26+ $ commandParts = array_filter (explode (" " , $ command ));
27+ $ argumentParts = array_filter (explode (" " , $ arguments ));
28+ $ magentoBinaryParts = array_filter (explode (" " , $ magentoBinary ));
29+ $ commandArray = array_merge ($ magentoBinaryParts , $ commandParts );
30+ $ process = new Symfony \Component \Process \Process ($ commandArray );
2631 $ process ->setIdleTimeout (60 );
2732 $ process ->setTimeout (0 );
2833 $ idleTimeout = false ;
You can’t perform that action at this time.
0 commit comments