- Notifications
You must be signed in to change notification settings - Fork5.3k
Commit600086f
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 parent3e0ae46 commit600086f
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 | | |
| |||
1140 | 1141 | | |
1141 | 1142 | | |
1142 | 1143 | | |
1143 | | - | |
| 1144 | + | |
1144 | 1145 | | |
1145 | 1146 | | |
1146 | 1147 | | |
| |||
5769 | 5770 | | |
5770 | 5771 | | |
5771 | 5772 | | |
| 5773 | + | |
| 5774 | + | |
| 5775 | + | |
| 5776 | + | |
| 5777 | + | |
| 5778 | + | |
| 5779 | + | |
| 5780 | + | |
| 5781 | + | |
| 5782 | + | |
| 5783 | + | |
| 5784 | + | |
5772 | 5785 | | |
| 5786 | + | |
| 5787 | + | |
5773 | 5788 | | |
5774 | 5789 | | |
5775 | 5790 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
511 | 511 | | |
512 | 512 | | |
513 | 513 | | |
514 | | - | |
| 514 | + | |
515 | 515 | | |
516 | 516 | | |
517 | 517 | | |
| |||
603 | 603 | | |
604 | 604 | | |
605 | 605 | | |
606 | | - | |
| 606 | + | |
607 | 607 | | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
608 | 613 | | |
609 | 614 | | |
610 | 615 | | |
| |||
1274 | 1279 | | |
1275 | 1280 | | |
1276 | 1281 | | |
1277 | | - | |
| 1282 | + | |
1278 | 1283 | | |
1279 | 1284 | | |
1280 | 1285 | | |
| |||
4215 | 4220 | | |
4216 | 4221 | | |
4217 | 4222 | | |
| 4223 | + | |
| 4224 | + | |
| 4225 | + | |
| 4226 | + | |
| 4227 | + | |
| 4228 | + | |
| 4229 | + | |
| 4230 | + | |
| 4231 | + | |
| 4232 | + | |
| 4233 | + | |
| 4234 | + | |
| 4235 | + | |
| 4236 | + | |
| 4237 | + | |
| 4238 | + | |
| 4239 | + | |
| 4240 | + | |
| 4241 | + | |
| 4242 | + | |
| 4243 | + | |
4218 | 4244 | | |
4219 | 4245 | | |
4220 | 4246 | | |
| |||
4227 | 4253 | | |
4228 | 4254 | | |
4229 | 4255 | | |
4230 | | - | |
4231 | | - | |
| 4256 | + | |
| 4257 | + | |
4232 | 4258 | | |
4233 | 4259 | | |
4234 | 4260 | | |
| |||
4294 | 4320 | | |
4295 | 4321 | | |
4296 | 4322 | | |
4297 | | - | |
4298 | | - | |
| 4323 | + | |
| 4324 | + | |
| 4325 | + | |
| 4326 | + | |
| 4327 | + | |
| 4328 | + | |
| 4329 | + | |
| 4330 | + | |
4299 | 4331 | | |
4300 | | - | |
| 4332 | + | |
| 4333 | + | |
| 4334 | + | |
| 4335 | + | |
| 4336 | + | |
| 4337 | + | |
4301 | 4338 | | |
4302 | 4339 | | |
4303 | 4340 | | |
| |||
4370 | 4407 | | |
4371 | 4408 | | |
4372 | 4409 | | |
| 4410 | + | |
| 4411 | + | |
| 4412 | + | |
| 4413 | + | |
| 4414 | + | |
| 4415 | + | |
4373 | 4416 | | |
4374 | 4417 | | |
4375 | 4418 | | |
| |||
4435 | 4478 | | |
4436 | 4479 | | |
4437 | 4480 | | |
4438 | | - | |
| 4481 | + | |
4439 | 4482 | | |
4440 | 4483 | | |
4441 | | - | |
| 4484 | + | |
| 4485 | + | |
| 4486 | + | |
| 4487 | + | |
| 4488 | + | |
| 4489 | + | |
4442 | 4490 | | |
4443 | 4491 | | |
4444 | 4492 | | |
4445 | 4493 | | |
4446 | 4494 | | |
4447 | | - | |
| 4495 | + | |
| 4496 | + | |
| 4497 | + | |
| 4498 | + | |
| 4499 | + | |
4448 | 4500 | | |
4449 | 4501 | | |
4450 | 4502 | | |
4451 | 4503 | | |
4452 | 4504 | | |
4453 | 4505 | | |
4454 | 4506 | | |
4455 | | - | |
| 4507 | + | |
| 4508 | + | |
| 4509 | + | |
| 4510 | + | |
4456 | 4511 | | |
4457 | | - | |
| 4512 | + | |
| 4513 | + | |
| 4514 | + | |
| 4515 | + | |
4458 | 4516 | | |
4459 | | - | |
| 4517 | + | |
| 4518 | + | |
| 4519 | + | |
| 4520 | + | |
4460 | 4521 | | |
4461 | | - | |
| 4522 | + | |
| 4523 | + | |
| 4524 | + | |
| 4525 | + | |
4462 | 4526 | | |
4463 | 4527 | | |
4464 | 4528 | | |
| |||
4519 | 4583 | | |
4520 | 4584 | | |
4521 | 4585 | | |
| 4586 | + | |
| 4587 | + | |
| 4588 | + | |
| 4589 | + | |
| 4590 | + | |
| 4591 | + | |
| 4592 | + | |
4522 | 4593 | | |
4523 | 4594 | | |
4524 | 4595 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
107 | 117 | | |
108 | 118 | | |
109 | 119 | | |
| |||
391 | 401 | | |
392 | 402 | | |
393 | 403 | | |
394 | | - | |
| 404 | + | |
395 | 405 | | |
396 | 406 | | |
397 | 407 | | |
| |||
441 | 451 | | |
442 | 452 | | |
443 | 453 | | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
444 | 475 | | |
445 | 476 | | |
446 | 477 | | |
| |||
453 | 484 | | |
454 | 485 | | |
455 | 486 | | |
456 | | - | |
| 487 | + | |
457 | 488 | | |
458 | 489 | | |
459 | 490 | | |
| 491 | + | |
460 | 492 | | |
461 | | - | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
462 | 500 | | |
463 | | - | |
464 | | - | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
465 | 512 | | |
466 | 513 | | |
467 | 514 | | |
| |||
524 | 571 | | |
525 | 572 | | |
526 | 573 | | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
527 | 578 | | |
528 | 579 | | |
529 | 580 | | |
| |||
0 commit comments
Comments
(0)