- Notifications
You must be signed in to change notification settings - Fork5.3k
Commit96d2c7e
committed
libpq: Prevent some overflows of int/size_t
Several functions could overflow their size calculations, when presentedwith very large inputs from remote and/or untrusted locations, and thenallocate buffers that were too small to hold the intended contents.Switch from int to size_t where appropriate, and check for overflowconditions when the inputs could have plausibly originated outside ofthe libpq trust boundary. (Overflows from within the trust boundary arestill possible, but these will be fixed separately.) A version ofadd_size() is ported from the backend to assist with code that performsmore complicated concatenation.Reported-by: Aleksey Solovev (Positive Technologies)Reviewed-by: Noah Misch <noah@leadboat.com>Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>Security:CVE-2025-12818Backpatch-through: 131 parente792be6 commit96d2c7e
File tree
5 files changed
+224
-33
lines changed- src/interfaces/libpq
5 files changed
+224
-33
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
998 | 999 | | |
999 | 1000 | | |
1000 | 1001 | | |
1001 | | - | |
| 1002 | + | |
1002 | 1003 | | |
1003 | 1004 | | |
1004 | 1005 | | |
| |||
4968 | 4969 | | |
4969 | 4970 | | |
4970 | 4971 | | |
| 4972 | + | |
| 4973 | + | |
| 4974 | + | |
| 4975 | + | |
| 4976 | + | |
| 4977 | + | |
| 4978 | + | |
| 4979 | + | |
| 4980 | + | |
| 4981 | + | |
| 4982 | + | |
| 4983 | + | |
4971 | 4984 | | |
| 4985 | + | |
| 4986 | + | |
4972 | 4987 | | |
4973 | 4988 | | |
4974 | 4989 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
491 | 491 | | |
492 | 492 | | |
493 | 493 | | |
494 | | - | |
| 494 | + | |
495 | 495 | | |
496 | 496 | | |
497 | 497 | | |
| |||
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
582 | | - | |
| 582 | + | |
583 | 583 | | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
584 | 589 | | |
585 | 590 | | |
586 | 591 | | |
| |||
1156 | 1161 | | |
1157 | 1162 | | |
1158 | 1163 | | |
1159 | | - | |
| 1164 | + | |
1160 | 1165 | | |
1161 | 1166 | | |
1162 | 1167 | | |
| |||
4084 | 4089 | | |
4085 | 4090 | | |
4086 | 4091 | | |
| 4092 | + | |
| 4093 | + | |
| 4094 | + | |
| 4095 | + | |
| 4096 | + | |
| 4097 | + | |
| 4098 | + | |
| 4099 | + | |
| 4100 | + | |
| 4101 | + | |
| 4102 | + | |
| 4103 | + | |
| 4104 | + | |
| 4105 | + | |
| 4106 | + | |
| 4107 | + | |
| 4108 | + | |
| 4109 | + | |
| 4110 | + | |
| 4111 | + | |
| 4112 | + | |
4087 | 4113 | | |
4088 | 4114 | | |
4089 | 4115 | | |
| |||
4096 | 4122 | | |
4097 | 4123 | | |
4098 | 4124 | | |
4099 | | - | |
4100 | | - | |
| 4125 | + | |
| 4126 | + | |
4101 | 4127 | | |
4102 | 4128 | | |
4103 | 4129 | | |
| |||
4163 | 4189 | | |
4164 | 4190 | | |
4165 | 4191 | | |
4166 | | - | |
4167 | | - | |
| 4192 | + | |
| 4193 | + | |
| 4194 | + | |
| 4195 | + | |
| 4196 | + | |
| 4197 | + | |
| 4198 | + | |
| 4199 | + | |
4168 | 4200 | | |
4169 | | - | |
| 4201 | + | |
| 4202 | + | |
| 4203 | + | |
| 4204 | + | |
| 4205 | + | |
| 4206 | + | |
4170 | 4207 | | |
4171 | 4208 | | |
4172 | 4209 | | |
| |||
4240 | 4277 | | |
4241 | 4278 | | |
4242 | 4279 | | |
| 4280 | + | |
| 4281 | + | |
| 4282 | + | |
| 4283 | + | |
| 4284 | + | |
| 4285 | + | |
4243 | 4286 | | |
4244 | 4287 | | |
4245 | 4288 | | |
| |||
4305 | 4348 | | |
4306 | 4349 | | |
4307 | 4350 | | |
4308 | | - | |
| 4351 | + | |
4309 | 4352 | | |
4310 | 4353 | | |
4311 | | - | |
| 4354 | + | |
| 4355 | + | |
| 4356 | + | |
| 4357 | + | |
| 4358 | + | |
| 4359 | + | |
4312 | 4360 | | |
4313 | 4361 | | |
4314 | 4362 | | |
4315 | 4363 | | |
4316 | 4364 | | |
4317 | | - | |
| 4365 | + | |
| 4366 | + | |
| 4367 | + | |
| 4368 | + | |
| 4369 | + | |
4318 | 4370 | | |
4319 | 4371 | | |
4320 | 4372 | | |
4321 | 4373 | | |
4322 | 4374 | | |
4323 | 4375 | | |
4324 | 4376 | | |
4325 | | - | |
| 4377 | + | |
| 4378 | + | |
| 4379 | + | |
| 4380 | + | |
4326 | 4381 | | |
4327 | | - | |
| 4382 | + | |
| 4383 | + | |
| 4384 | + | |
| 4385 | + | |
4328 | 4386 | | |
4329 | | - | |
| 4387 | + | |
| 4388 | + | |
| 4389 | + | |
| 4390 | + | |
4330 | 4391 | | |
4331 | | - | |
| 4392 | + | |
| 4393 | + | |
| 4394 | + | |
| 4395 | + | |
4332 | 4396 | | |
4333 | 4397 | | |
4334 | 4398 | | |
| |||
4390 | 4454 | | |
4391 | 4455 | | |
4392 | 4456 | | |
| 4457 | + | |
| 4458 | + | |
| 4459 | + | |
| 4460 | + | |
| 4461 | + | |
| 4462 | + | |
| 4463 | + | |
4393 | 4464 | | |
4394 | 4465 | | |
4395 | 4466 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
110 | 120 | | |
111 | 121 | | |
112 | 122 | | |
| |||
408 | 418 | | |
409 | 419 | | |
410 | 420 | | |
411 | | - | |
| 421 | + | |
412 | 422 | | |
413 | 423 | | |
414 | 424 | | |
| |||
458 | 468 | | |
459 | 469 | | |
460 | 470 | | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
461 | 492 | | |
462 | 493 | | |
463 | 494 | | |
| |||
470 | 501 | | |
471 | 502 | | |
472 | 503 | | |
473 | | - | |
| 504 | + | |
474 | 505 | | |
475 | 506 | | |
476 | 507 | | |
| 508 | + | |
477 | 509 | | |
478 | | - | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
479 | 517 | | |
480 | | - | |
481 | | - | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
482 | 529 | | |
483 | 530 | | |
484 | 531 | | |
| |||
541 | 588 | | |
542 | 589 | | |
543 | 590 | | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
544 | 595 | | |
545 | 596 | | |
546 | 597 | | |
| |||
0 commit comments
Comments
(0)