Git Product home page Git Product logo

dominator's Issues

Segfault on GC

Getting a segmentation fault while running unit_tests.js

Array map new Array A string abcdefghilmnopqrstuvz.tainted true
Array map new Array A string 1234567890.tainted true
Array join v.tainted
[Ko] String in Object test Object.keys(obj)[1].tainted 'd' in obj String in Object tainted keys Object.keys(obj)[1].tainted
GCCalled

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000010
0x00000001000d7cc4 in js::gc::MarkGCThing (trc=, thing=Cannot access memory at address 0xffffffffffffffef
) at dominator/js/src/jsgcmark.cpp:435
435 JS_SET_TRACING_NAME(trc, name);

(gdb) bt
#0 0x00000001000d7cc4 in js::gc::MarkGCThing (trc=, thing=0x0, name=) at dominator/js/src/jsgcmark.cpp:435
#1 0x0000000100089579 in markLiveObjects (cx=0x0, theStatus=JSGC_END) at dominator/js/src/taint.cpp:261
#2 0x00000001000bef67 in MarkAndSweep (cx=, comp=, gckind=, gcTimer=@0x10400c208) at dominator/js/src/jsgc.cpp:2298
#3 0x00000001000c0901 in GCCycle (cx=, comp=, gckind=, gcTimer=@0x181e414a3) at dominator/js/src/jsgc.cpp:2653
#4 0x00000001000c0c0f in js_GC (cx=, comp=, gckind=) at dominator/js/src/jsgc.cpp:2739
#5 0x000000010007373c in js_DestroyContext (cx=0x100510148, mode=JSDCM_MAYBE_GC) at dominator/js/src/jscntxt.cpp:533
#6 0x00000001000417f5 in JS_DestroyContext (cx=0x7fff5fbff440) at dominator/js/src/jsapi.cpp:1014
#7 0x000000010000999a in DestroyContext (cx=Cannot access memory at address 0xffffffffffffffe7

) at dominator/js/src/shell/js.cpp:5215
#8 0x0000000100014158 in main (argc=Cannot access memory at address 0xffffffffffffff1b

) at dominator/js/src/shell/js.cpp:5674
(gdb)

Ubuntu +13 launching errors

I tried to run
./dominator.sh
and got:
./dominator.sh: line 4: 4158 Segmentation fault
LD_LIBRARY_PATH=$DIRN:$LD_LIBRARY_PATH $DIRN/firefox -NO-REMOTE $@

dominator compile fails on Mac OS / Lion (64-bit)

Compilation of the up-to-date source fails with an asm error (I could attach the full error if it's possible):

/usr/bin/gcc -o x86state.o -c -fvisibility=hidden -DTHEORA_DISABLE_ENCODE -DOC_X86_ASM -DOC_X86_64_ASM -DOSTYPE="Darwin11.4.0" -DOSARCH=Darwin -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nspr -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nss -fPIC -DTAINTED=1 -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -DTAINTED=1 -fno-strict-aliasing -fno-common -pthread -DNO_X11 -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DTAINTED=1 -include ../../../mozilla-config.h -DMOZILLA_CLIENT -MD -MF .deps/x86state.pp /Users/dsavints/dev/hack/dominator/media/libtheora/lib/x86/x86state.c
x86cpu.c
/usr/bin/gcc -o x86cpu.o -c -fvisibility=hidden -DTHEORA_DISABLE_ENCODE -DOC_X86_ASM -DOC_X86_64_ASM -DOSTYPE="Darwin11.4.0" -DOSARCH=Darwin -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I/Users/dsavints/dev/hack/dominator/media/libtheora/lib -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nspr -I/Users/dsavints/dev/hack/dominator/ff-taintOPT/dist/include/nss -fPIC -DTAINTED=1 -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -DTAINTED=1 -fno-strict-aliasing -fno-common -pthread -DNO_X11 -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DTAINTED=1 -include ../../../mozilla-config.h -DMOZILLA_CLIENT -MD -MF .deps/x86cpu.pp /Users/dsavints/dev/hack/dominator/media/libtheora/lib/x86/x86cpu.c
cc1: error in backend: Invalid operand found in inline asm: '#OC_ROW_IDCT_10
#OC_IDCT_BEGIN_10
movq (3)_16-8+${1:H},%mm2
nop
movq 0x30-8+${2:H},%mm6
movq %mm2,%mm4
movq 0x50-8+${2:H},%mm1
pmulhw %mm6,%mm4
movq (1)_16-8+${1:H},%mm3
pmulhw %mm2,%mm1
movq 0x10-8+${2:H},%mm0
paddw %mm2,%mm4
pxor %mm6,%mm6
paddw %mm1,%mm2
movq (2)_16-8+${1:H},%mm5
pmulhw %mm3,%mm0
movq %mm5,%mm1
paddw %mm3,%mm0
pmulhw 0x70-8+${2:H},%mm3
psubw %mm2,%mm6
pmulhw 0x20-8+${2:H},%mm5
psubw %mm4,%mm0
movq (2)_16-8+${1:H},%mm7
paddw %mm4,%mm4
paddw %mm5,%mm7
paddw %mm0,%mm4
pmulhw 0x60-8+${2:H},%mm1
psubw %mm6,%mm3
movq %mm4,(1)_16-8+${0:H}
paddw %mm6,%mm6
movq 0x40-8+${2:H},%mm4
paddw %mm3,%mm6
movq %mm3,%mm5
pmulhw %mm4,%mm3
movq %mm6,(2)_16-8+${0:H}
movq %mm0,%mm2
movq (0)_16-8+${1:H},%mm6
pmulhw %mm4,%mm0
paddw %mm3,%mm5
paddw %mm0,%mm2
psubw %mm1,%mm5
pmulhw %mm4,%mm6
paddw (0)_16-8+${1:H},%mm6
paddw %mm1,%mm1
movq %mm6,%mm4
paddw %mm5,%mm1
psubw %mm2,%mm6
paddw %mm2,%mm2
movq (1)_16-8+${0:H},%mm0
paddw %mm6,%mm2
psubw %mm1,%mm2
nop
#end OC_IDCT_BEGIN_10
movq (2)_16-8+${0:H},%mm3
psubw %mm7,%mm4
paddw %mm1,%mm1
paddw %mm7,%mm7
paddw %mm2,%mm1
paddw %mm4,%mm7
psubw %mm3,%mm4
paddw %mm3,%mm3
psubw %mm5,%mm6
paddw %mm5,%mm5
paddw %mm4,%mm3
paddw %mm6,%mm5
psubw %mm0,%mm7
paddw %mm0,%mm0
movq %mm1,(1)_16-8+${0:H}
paddw %mm7,%mm0
#end OC_ROW_IDCT_10
#OC_TRANSPOSE
movq %mm4,%mm1
punpcklwd %mm5,%mm4
movq %mm0,(0)_16-8+${0:H}
punpckhwd %mm5,%mm1
movq %mm6,%mm0
punpcklwd %mm7,%mm6
movq %mm4,%mm5
punpckldq %mm6,%mm4
punpckhdq %mm6,%mm5
movq %mm1,%mm6
movq %mm4,((4)-4)_16+8-8+${0:H}
punpckhwd %mm7,%mm0
movq %mm5,((5)-4)_16+8-8+${0:H}
punpckhdq %mm0,%mm6
movq (0)_16-8+${0:H},%mm4
punpckldq %mm0,%mm1
movq (1)_16-8+${0:H},%mm5
movq %mm4,%mm0
movq %mm6,((7)-4)_16+8-8+${0:H}
punpcklwd %mm5,%mm0
movq %mm1,((6)-4)_16+8-8+${0:H}
punpckhwd %mm5,%mm4
movq %mm2,%mm5
punpcklwd %mm3,%mm2
movq %mm0,%mm1
punpckldq %mm2,%mm0
punpckhdq %mm2,%mm1
movq %mm4,%mm2
movq %mm0,(0)_16-8+${0:H}
punpckhwd %mm3,%mm5
movq %mm1,(1)_16-8+${0:H}
punpckhdq %mm5,%mm4
punpckldq %mm5,%mm2
movq %mm4,(3)_16-8+${0:H}
movq %mm2,(2)_16-8+${0:H}
#end OC_TRANSPOSE
#OC_COLUMN_IDCT_10
#OC_IDCT_BEGIN_10
movq (3)_16-8+${0:H},%mm2
nop
movq 0x30-8+${2:H},%mm6
movq %mm2,%mm4
movq 0x50-8+${2:H},%mm1
pmulhw %mm6,%mm4
movq (1)_16-8+${0:H},%mm3
pmulhw %mm2,%mm1
movq 0x10-8+${2:H},%mm0
paddw %mm2,%mm4
pxor %mm6,%mm6
paddw %mm1,%mm2
movq (2)_16-8+${0:H},%mm5
pmulhw %mm3,%mm0
movq %mm5,%mm1
paddw %mm3,%mm0
pmulhw 0x70-8+${2:H},%mm3
psubw %mm2,%mm6
pmulhw 0x20-8+${2:H},%mm5
psubw %mm4,%mm0
movq (2)_16-8+${0:H},%mm7
paddw %mm4,%mm4
paddw %mm5,%mm7
paddw %mm0,%mm4
pmulhw 0x60-8+${2:H},%mm1
psubw %mm6,%mm3
movq %mm4,(1)_16-8+${0:H}
paddw %mm6,%mm6
movq 0x40-8+${2:H},%mm4
paddw %mm3,%mm6
movq %mm3,%mm5
pmulhw %mm4,%mm3
movq %mm6,(2)_16-8+${0:H}
movq %mm0,%mm2
movq (0)_16-8+${0:H},%mm6
pmulhw %mm4,%mm0
paddw %mm3,%mm5
paddw %mm0,%mm2
psubw %mm1,%mm5
pmulhw %mm4,%mm6
paddw (0)_16-8+${0:H},%mm6
paddw %mm1,%mm1
movq %mm6,%mm4
paddw %mm5,%mm1
psubw %mm2,%mm6
paddw %mm2,%mm2
movq (1)*16-8+${0:H},%mm0
paddw %mm6,%mm2
psubw %mm1,%mm2
nop

tainted flag is not propagated through RegExp.source()

The tainted flag is not propagated through RegExp.source() method:

var s = new StringTainted("foo");  // "foo" is the attack payload
s.tainted;  // true
var re = new RegExp('/' + s + '/', 'g');
var src = re.source(); // "\/foo\/" - the attack payload inside
src.tainted; // false, should be true

Let me know if you consider this a valid case, I can add it to the tainttests/unit_tests.js

tainted flag propagation through Function's constructor

I believe the following case is missing - wonder if it is something we should add:

var s = String.newTainted("foo"); // "foo" will be potential attack payload
s.tainted; // true
var f = new Function("", "return '" + s + "';");
var x = f();   // x is now "foo", but...
x.tainted; // currently false - I believe should be true to avoid losing the propagation of the tainted flag, right?

installation of DOMinator on Mac Lion

Hello wisec

i have compiled the DOMinator successfully on the Mac Lion machine recently with some adjustment in this branch
https://github.com/neraliu/DOMinator/tree/maclionbuild

uname -a
Darwin clockenemy-lm 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:33:05 PDT 2012; root:xnu-1699.26.8~1/RELEASE_I386 i386 i386

however, when i follow this installation instruction, i found out that the DOMinator Extension is missing in the final build, am i missing something?
http://code.google.com/p/dominator/wiki/InstallationInstructions

tainted flag not propagated in a function defined with eval() and its toSource() value

Consider the following example:

var s = String.newTainted("foo"); // "foo" is the potential attack payload
s.tainted; // true, of course
eval("function myfun() {return '" + s + "';}"); // define function f() that returns the tainted string
var x = myfun();  // invoke newly define function
x.tainted; // currently false, should be true

Additionally, consider the return value of toSource() call that also contains the attack payload:

var src = myfun.toSource(); "function myfun() {return "foo";}"
src.tainted; // currently false, should be true

Can't get DominatorPro tab on Firebug

I tried reinstalling, I have Visual C++ redistributable too but all in vain. It is the Pro trial on Windows 7x64 however can't get it to work. Please help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.