| From: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
|---|---|
| To: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org>, Aleksander Alekseev <aleksander(at)tigerdata(dot)com> |
| Subject: | Re: bytea(uuid) missing proleakproof? |
| Date: | 2026-06-24 18:30:04 |
| Message-ID: | CAD21AoActGpFRicGbz53SjbbPiTCSPyCWg-5PoGaQm2njQ_ZRA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On Sun, Jun 21, 2026 at 9:00 PM Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
>
> Hi,
>
> While testing "[ba21f5bf8] Allow explicit casting between bytea and uuid", I noticed that the new proc bytea(uuid) is not marked as proleakproof, while the other functions in the group, bytea(int2), bytea(int4), and bytea(int8), are all marked as proleakproof.
>
> Looking into the backend function uuid_bytea(), it just returns uuid_send(fcinfo). For a valid uuid datum, uuid_send() only copies the UUID value into a bytea result, so I don't see an input-dependent error path or other reason not to mark bytea(uuid) as proleakproof.
>
> This matters for security barrier planning, because a qual using uuid::bytea is otherwise treated as leaky and cannot be pushed down. Attached is a tiny patch to fix that.
>
> I didn't mark uuid_send() itself as proleakproof because none of send/receive functions are marked as proleakproof in pg_proc.dat.
Thank you for the report.
I agree that we should mark bytea(uuid) (i.e., converting uuid ->
bytea) as leakproof but not the opposite direction.
The patch is simple and looks good to me. I'll push the patch, barring
any objections.
Regards,
--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Marcos Pegoraro | 2026-06-24 18:31:03 | Re: Get rid of "Section.N.N.N" on DOCs |
| Previous Message | Masahiko Sawada | 2026-06-24 18:12:47 | Re: Add MIN/MAX aggregate support for uuid |