• Tom Lane's avatar
    Prevent access to external files/URLs via contrib/xml2's xslt_process(). · adc97d03
    Tom Lane authored
    libxslt offers the ability to read and write both files and URLs through
    stylesheet commands, thus allowing unprivileged database users to both read
    and write data with the privileges of the database server.  Disable that
    through proper use of libxslt's security options.
    
    Also, remove xslt_process()'s ability to fetch documents and stylesheets
    from external files/URLs.  While this was a documented "feature", it was
    long regarded as a terrible idea.  The fix for CVE-2012-3489 broke that
    capability, and rather than expend effort on trying to fix it, we're just
    going to summarily remove it.
    
    While the ability to write as well as read makes this security hole
    considerably worse than CVE-2012-3489, the problem is mitigated by the fact
    that xslt_process() is not available unless contrib/xml2 is installed,
    and the longstanding warnings about security risks from that should have
    discouraged prudent DBAs from installing it in security-exposed databases.
    
    Reported and fixed by Peter Eisentraut.
    
    Security: CVE-2012-3488
    adc97d03
xml2_1.out 5.78 KB