Replies: 5 comments 1 reply
-
Also, you mention this:
Are you aware of memory corruption vulnerabilities in Javascript engine or pacparser? |
Beta Was this translation helpful? Give feedback.
-
Hey! Thank you for your work on this issue.
By "context", I mean that if someone executes arbitrary code by first injecting JavaScript and then exploits a vulnerability in SpiderMoney, they can compromise the application that uses
SpiderMonkey. Now that the JavaScript injection is fixed, it's much less of a problem–the PAC file is likely always trusted. I feel like we should use the GitHub Advisory to request a CVE, |
Beta Was this translation helpful? Give feedback.
-
This is what I am confused about. JS Context that pacparser creates is not exposed to the caller program -- since its unexposed, this context cannot have any other user data (only any injected data, pacfile, url, host). Whatever arbitrary code someone manages to run, will run in the same unexposed context. At the most someone can cause denial of service by making the context/script take forever, thus impacting the "availability". I think "confidentiality" and "integrity" impact should not be there. Does that make sense? |
Beta Was this translation helpful? Give feedback.
-
By running JavaScript code with the injection bug (in the context of SpiderMonkey), it can exploit memory corruptions in SpiderMonkey to break out of the engine and execute "native" code instead (in the context of the program). |
Beta Was this translation helpful? Give feedback.
-
I updated the advisory to clarify what we discussed in this thread.
I still think that a CVE should be requested, what's your opinion on this point? |
Beta Was this translation helpful? Give feedback.
-
Hello @thomas-chauchefoin-sonarsource,
Thanks for reporting GHSA-62q6-v997-f7v9. I had a question for you. You mentioned in the advisory:
pacparser
creates its JS context which has nothing to do with the application context that's running it. I guess at the max it can cause the proxy resolution to fail or result in wrong proxy being used. It cannot go outside of its own context. What am I missing?Beta Was this translation helpful? Give feedback.
All reactions