• During parsing of an object, sometimes parts of the object have to be
    resolved. An example is stream lengths. If such an object directly or
    indirectly points to the object being parsed, it can cause an infinite
    loop. Guard against all cases of re-entrant resolution of objects.
    Jay Berkenbilt authored
     
    Browse File »
  • This is CVE-2017-9208.
    
    The QPDF library uses object ID 0 internally as a sentinel to
    represent a direct object, but prior to this fix, was not blocking
    handling of 0 0 obj or 0 0 R as a special case. Creating an object in
    the file with 0 0 obj could cause various infinite loops. The PDF spec
    doesn't allow for object 0. Having qpdf handle object 0 might be a
    better fix, but changing all the places in the code that assumes objid
    == 0 means direct would be risky.
    Jay Berkenbilt authored
     
    Browse File »