Closed Bug 291314 Opened 20 years ago Closed 20 years ago

content calling java methods causes trouble

Categories

(Firefox :: Security, defect)

x86
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: guninski, Assigned: dveditz)

References

()

Details

(Whiteboard: [sg:fix] need patch)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3 Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3 chrome calling java.io.File("/tmp/a").createNewFile() creates a file in /tmp Reproducible: Always Steps to Reproduce: go to url Actual Results: a file with controllable name is created
Java(TM) Plug-in 1.5.0_02-b09 File name: libjavaplugin_oji.so Java(TM) Plug-in 1.5.0_02
Chrome can already create a file and more with or without Java, letting it call into Java with permissions isn't a problem. The problem here is the chrome event handler calling a content function with chrome privs. Doesn't matter what the function does, that is the problem. I couldn't get this to work, but it might be me.
Flags: blocking-aviary1.1?
Flags: blocking-aviary1.0.4?
the exploit works for me with both 1.0.3 and today's cvs trunk (with both brendan's Script kludge and without)
Why is this an exploit? Chrome should be allowed to do this.
did you check "steps to reproduce" and url below "qa contact"?
Group: security
I can confirm the testcase...
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: chrome calling java methods causes trouble → content calling java methods causes trouble
There's at least one bug here, if not two. I'd comment in more detail, but I'd rather do that in security-sensitive bugs. Why was the security flag removed?
the security flag was removed because i spent time writing a testcase, there was no action on the bug for 5 days, and someone added himself to cc and asked "Why is this an exploit?"
Group: security
Whiteboard: [sg:fix]
Flags: blocking1.8b3+
Flags: blocking-aviary1.1?
Flags: blocking-aviary1.1+
Flags: blocking-aviary1.0.4?
Flags: blocking-aviary1.0.4+
Even with the patch in bug 281988 comment 73 i'm worried that someone can do: theFile = java.io.File('/etc/passwd''); someNode.nodeName = theFile; theFile.toUpper = theFile.delete; event.target = someNode; document.body.dispatchEvent(event); then trick us into getting the uppercase nodename of someNode. Will the above cause |this| to be changed for |delete| triggering the REBOUND flag to get set?
Sicking, thanks -- jst brought that up too. See bug 281988 attachment 182729 [details] [diff] [review]. /be
Depends on: 281988
looks like java objects created by applets aren't exploitable. can't at least this exploit be solved/kludged by disabling the java.* constructors from javascript - seems exploder does not support them?
Blocks: sbb?
Whiteboard: [sg:fix] → [sg:fix] need patch
this should be fixed on the trunk by bug 281988. Unblocking 1.8b3.
Flags: blocking1.8b3+
Georgi: This should be fixed on the Trunk, can you retest and report any issues you still see there? We need more testing on the Trunk before we can take the other fix from bug 281988 on the branch.
Status: NEW → RESOLVED
Closed: 20 years ago
Flags: blocking-aviary1.0.6+
Flags: blocking-aviary1.0.5-
Flags: blocking-aviary1.0.5+
Resolution: --- → FIXED
testcase doesn't work on today cvs trunk. but i am not sure if in this testcase java tries to get executed at all, or fixing some other bug has stopped the codepath. will try to check this.
looks like chrome doesn't execute the luser's getter, so it is not clear if the bug is fixed if chrome would have executed the luser's getter.
Two fixes block this testcase: chrome ignores content-generated events, and on the trunk chrome doesn't see user-created properties anymore. Might be able to play around with something like bug 290324 on the 1.0 branch to get chrome to access java -- we didn't change anything in the way liveconnect/java works.
*** Bug 303856 has been marked as a duplicate of this bug. ***
Group: security
Flags: blocking-aviary1.0.8+ → blocking-aviary1.0.8?
The problem is not reproducible. It may just be blocked by other fixed or there may be another unknown path to cause it. Either way we can't fix what we can't see. No patch. So can't make it into 1.0.8.
Flags: blocking-aviary1.0.8? → blocking-aviary1.0.8-
(In reply to comment #19) > The problem is not reproducible. It may just be blocked by other fixed or > there may be another unknown path to cause it. Either way we can't fix what we > can't see. No patch. So can't make it into 1.0.8. > some other fix killed the bug of calling it. more actual similar "issue" is bug 324630
You need to log in before you can comment on or make changes to this bug.