lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sat, 12 Aug 2006 18:15:12 +0200 (CEST)
From: Michal Zalewski <lcamtuf@...ne.ids.pl>
To: bugtraq@...urityfocus.com, full-disclosure@...ts.grok.org.uk
Cc: vulnwatch@...nwatch.org
Subject: Concurrency-related vulnerabilities in browsers -
	expect problems

Good morning,

  "Fame-hungry sociopath torches cars, finds browser flaws

  WARSAW, Poland (AP) -- police are on a look out for a local adolescent
  vandal who continues to terrorize local IT workers in what appears to be
  a bizzare bid for fame. Larry Seltzer reports from the scene."

Well, I just had to do this, forgive me.

There seems to be an interesting class of concurrency-related bugs in
popular browsers. This is quite similar to signal-handling flaws you might
be familiar with: many browser events can be triggered asynchronously, for
example using Javascript timers, while some components of the browser are
still running. In many cases, a new action might be initiated that
interferes with or counters the interrupted (or still executing) task.

Problems like this may leave the program in inconsistent state, and later
cause double frees or related issues. That usually opens the door to
system compromise through careful manipulation of memory contents. The
attacks would depend heavily on network latency and jitter, but can be
executed.

Given that the tip of that iceberg has been probed recently - for example
here: http://www.mozilla.org/security/announce/2006/mfsa2006-46.html - I
assumed it is now the time to post my older example.

A fairly reliable example is when Firefox is interrupted by a Javascript
handler while parsing a deeply nested XML document for display. If the
browser is then redirected from the script to a new location, the
unfinished parsing process is aborted, and all its structures are freed -
but these were not left in the expected state by the parser.

This is a demo that will usually crash Firefox in a couple of seconds
(SEGV on Linux and MacOS, silent crashes on Windows):

  http://lcamtuf.coredump.cx/ffoxdie.html

Have fun!

PS. For the easily amused: MSIE loves "<DT><H1 STYLE=width:1px><LI></H1>"

/mz
http://lcamtuf.coredump.cx/

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Powered by blists - more mailing lists