Re: char 0x00

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Brett Okken <brett(dot)okken(dot)os(at)gmail(dot)com>
Cc: pgsql-docs(at)lists(dot)postgresql(dot)org, Dave Cramer <davecramer(at)gmail(dot)com>
Subject: Re: char 0x00
Date: 2020-03-26 15:21:52
Message-ID: 14011.1585236112@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

Brett Okken <brett(dot)okken(dot)os(at)gmail(dot)com> writes:
> Using a client and server encoding of SQL_ASCII makes it possible to get
> 0x00 into a text value column when using a bind variable.

Having looked at the code again, I flat out don't believe you.
textin is certainly not going to read past a nul character,
and textrecv goes through pg_client_to_server (via pq_getmsgtext),
which AFAICS is careful in all code paths to reject nuls.

If I'm missing something, I'd really like to see a concrete example,
because this would be a bug, and it'd suggest that somebody's managed
to reopen CVE-2006-2313. If we're missing nul rejection in some code
path, then we're probably not doing encoding validation at all.

regards, tom lane

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Justin Pryzby 2020-03-27 20:12:00 Re: Add A Glossary
Previous Message Brett Okken 2020-03-26 14:28:54 Re: char 0x00