Hello, we recently had a 3rd party do a penetration test of our application, and they discovered that a fetch operation against the SCUploadSaveFile datasource can be manipulated such that it returns the last modified timestamp of any modified file on the server. Since I don't use this feature of SmartGWT, is it possible to turn this off? I've noticed that this is part of the "system" data sources, and I'd prefer not to override those. The vulnerability can be reproduced with the following HTTP request.
In this example, my WAR file is someWar, and my GWT app name is someApp(thus the URL/someWar/someApp). IF C:\testFile.xml exists, it will return the modification time for that file. Framework versions are GWT 2.6.0 and SmartGWT-EE 4.1-2016-01-31:
POST to path /someWar/someApp/sc/IDACall?isc_rpc=1&isc_v=v9.1p_2016-0131&isc_xhr=1
Request content
In this example, my WAR file is someWar, and my GWT app name is someApp(thus the URL/someWar/someApp). IF C:\testFile.xml exists, it will return the modification time for that file. Framework versions are GWT 2.6.0 and SmartGWT-EE 4.1-2016-01-31:
POST to path /someWar/someApp/sc/IDACall?isc_rpc=1&isc_v=v9.1p_2016-0131&isc_xhr=1
Request content
Code:
isc_tnum=36 _transaction=<?xml version="1.0"?> <transaction xmlns:xsi="http://www.w3.org/2000/10/XMLSchemainstance" xsi:type="xsd:Object"> <transactionNum xsi:type="xsd:long">5</transactionNum> <operations xsi:type="xsd:List"> <elem xsi:type="xsd:Object"> <criteria> <path>c:\testFile.xml</path> </criteria> <appID>builtinApplication</appID> <operation>SCUploadSaveFile_fetch</operation> </elem> </operations> </transaction> protocolVersion=1.0
Comment