• Tom Lane's avatar
    Docs: add disclaimer about hazards of using regexps from untrusted sources. · 558d4ada
    Tom Lane authored
    It's not terribly hard to devise regular expressions that take large
    amounts of time and/or memory to process.  Recent testing by Greg Stark has
    also shown that machines with small stack limits can be driven to stack
    overflow by suitably crafted regexps.  While we intend to fix these things
    as much as possible, it's probably impossible to eliminate slow-execution
    cases altogether.  In any case we don't want to treat such things as
    security issues.  The history of that code should already discourage
    prudent DBAs from allowing execution of regexp patterns coming from
    possibly-hostile sources, but it seems like a good idea to warn about the
    hazard explicitly.
    
    Currently, similar_escape() allows access to enough of the underlying
    regexp behavior that the warning has to apply to SIMILAR TO as well.
    We might be able to make it safer if we tightened things up to allow only
    SQL-mandated capabilities in SIMILAR TO; but that would be a subtly
    non-backwards-compatible change, so it requires discussion and probably
    could not be back-patched.
    
    Per discussion among pgsql-security list.
    558d4ada
func.sgml 652 KB