Re: Found a buffer-overflow defect in asynchronous database connection API PQconnectPoll
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Sudheer H R <sudheer.hr@tekenlight.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2021-06-23T13:24:38Z
Lists: pgsql-bugs
Sudheer H R <sudheer.hr@tekenlight.com> writes: > While trying to sanitise the code for heap buffer overflows I compiled and linked the executable with clang -fsanitize=“address” option. The connection library indicates a buffer over flow in an internal source code of the module. Hm, interesting. Our code is expecting that gss_display_status() returns a null-terminated string, but this trace suggests that the string is not necessarily null-terminated. The documentation I found on the net is unclear on the point, and the code I could find is split as to how the string is treated. If it's not supposed to be null-terminated, we're hardly the only ones making that mistake. In any case, you wouldn't get here unless we'd run into some kind of problem trying to make a GSS connection. Could you maybe explain the conditions you're running this under, and/or print out the failure message it constructs? regards, tom lane
Commits
-
Don't assume GSSAPI result strings are null-terminated.
- 006a829b2d14 9.6.23 landed
- d3a845d1fd0f 10.18 landed
- 7eaf65451483 12.8 landed
- 361acef7e4c0 11.13 landed
- 13f3655683ba 13.4 landed
- 126cdaf47af2 14.0 landed