forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit6a10e57
committed
Fix handling of wide datetime input/output.
Many server functions use the MAXDATELEN constant to size a buffer forparsing or displaying a datetime value. It was much too small for thelongest possible interval output and slightly too small for certainvalid timestamp input, particularly input with a long timezone name.The long input was rejected needlessly; the long output causedinterval_out() to overrun its buffer. ECPG's pgtypes library has a copyof the vulnerable functions, which bore the same vulnerabilities alongwith some of its own. In contrast to the server, certain long inputscaused stack overflow rather than failing cleanly. Back-patch to 8.4(all supported versions).Reported by Daniel Schüssler, reviewed by Tom Lane.Security:CVE-2014-00631 parentb5c5743 commit6a10e57
File tree
11 files changed
+111
-35
lines changed- src
- include/utils
- interfaces/ecpg
- pgtypeslib
- test
- expected
- pgtypeslib
- test/regress
- expected
- sql
11 files changed
+111
-35
lines changedLines changed: 11 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
190 | 190 |
| |
191 | 191 |
| |
192 | 192 |
| |
193 |
| - | |
194 |
| - | |
195 |
| - | |
196 |
| - | |
197 |
| - | |
198 |
| - | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
199 | 204 |
| |
200 | 205 |
| |
201 | 206 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
61 | 61 |
| |
62 | 62 |
| |
63 | 63 |
| |
64 |
| - | |
| 64 | + | |
65 | 65 |
| |
66 | 66 |
| |
67 | 67 |
| |
68 | 68 |
| |
69 | 69 |
| |
70 | 70 |
| |
71 |
| - | |
| 71 | + | |
72 | 72 |
| |
73 | 73 |
| |
74 | 74 |
| |
|
Lines changed: 11 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
192 | 192 |
| |
193 | 193 |
| |
194 | 194 |
| |
195 |
| - | |
196 |
| - | |
197 |
| - | |
198 |
| - | |
199 |
| - | |
200 |
| - | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
201 | 206 |
| |
202 | 207 |
| |
203 | 208 |
| |
|
Lines changed: 31 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1164 | 1164 |
| |
1165 | 1165 |
| |
1166 | 1166 |
| |
1167 |
| - | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
1168 | 1171 |
| |
1169 | 1172 |
| |
1170 | 1173 |
| |
1171 |
| - | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
1172 | 1179 |
| |
1173 |
| - | |
1174 |
| - | |
1175 |
| - | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
1176 | 1183 |
| |
1177 | 1184 |
| |
1178 | 1185 |
| |
| |||
1524 | 1531 |
| |
1525 | 1532 |
| |
1526 | 1533 |
| |
1527 |
| - | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
1528 | 1538 |
| |
1529 | 1539 |
| |
1530 |
| - | |
1531 |
| - | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
1532 | 1546 |
| |
1533 |
| - | |
1534 |
| - | |
1535 |
| - | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
1536 | 1550 |
| |
1537 | 1551 |
| |
1538 | 1552 |
| |
| |||
1658 | 1672 |
| |
1659 | 1673 |
| |
1660 | 1674 |
| |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
1661 | 1678 |
| |
1662 | 1679 |
| |
1663 | 1680 |
| |
| |||
1670 | 1687 |
| |
1671 | 1688 |
| |
1672 | 1689 |
| |
| 1690 | + | |
1673 | 1691 |
| |
| 1692 | + | |
| 1693 | + | |
1674 | 1694 |
| |
1675 | 1695 |
| |
1676 | 1696 |
| |
| |||
1811 | 1831 |
| |
1812 | 1832 |
| |
1813 | 1833 |
| |
1814 |
| - | |
1815 |
| - | |
1816 | 1834 |
| |
1817 | 1835 |
| |
1818 | 1836 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1092 | 1092 |
| |
1093 | 1093 |
| |
1094 | 1094 |
| |
1095 |
| - | |
| 1095 | + | |
1096 | 1096 |
| |
1097 | 1097 |
| |
1098 | 1098 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
297 | 297 |
| |
298 | 298 |
| |
299 | 299 |
| |
300 |
| - | |
| 300 | + | |
301 | 301 |
| |
302 | 302 |
| |
303 | 303 |
| |
|
Lines changed: 16 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
45 | 45 |
| |
46 | 46 |
| |
47 | 47 |
| |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
48 | 57 |
| |
49 | 58 |
| |
50 | 59 |
| |
51 | 60 |
| |
52 | 61 |
| |
53 | 62 |
| |
54 | 63 |
| |
| 64 | + | |
55 | 65 |
| |
56 | 66 |
| |
57 | 67 |
| |
| |||
73 | 83 |
| |
74 | 84 |
| |
75 | 85 |
| |
76 |
| - | |
| 86 | + | |
77 | 87 |
| |
78 | 88 |
| |
79 |
| - | |
| 89 | + | |
80 | 90 |
| |
81 | 91 |
| |
82 |
| - | |
| 92 | + | |
83 | 93 |
| |
84 | 94 |
| |
85 |
| - | |
| 95 | + | |
86 | 96 |
| |
87 | 97 |
| |
88 |
| - | |
| 98 | + | |
89 | 99 |
| |
90 | 100 |
| |
91 |
| - | |
| 101 | + | |
92 | 102 |
| |
93 | 103 |
| |
94 | 104 |
| |
|
Lines changed: 19 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
| 11 | + | |
11 | 12 |
| |
12 | 13 |
| |
13 | 14 |
| |
14 | 15 |
| |
15 | 16 |
| |
| 17 | + | |
16 | 18 |
| |
17 | 19 |
| |
18 | 20 |
| |
19 | 21 |
| |
20 | 22 |
| |
| 23 | + | |
21 | 24 |
| |
22 | 25 |
| |
23 | 26 |
| |
24 | 27 |
| |
25 | 28 |
| |
| 29 | + | |
26 | 30 |
| |
27 | 31 |
| |
28 | 32 |
| |
29 | 33 |
| |
30 | 34 |
| |
| 35 | + | |
31 | 36 |
| |
32 | 37 |
| |
33 | 38 |
| |
34 | 39 |
| |
35 | 40 |
| |
| 41 | + | |
36 | 42 |
| |
37 | 43 |
| |
38 | 44 |
| |
39 | 45 |
| |
40 | 46 |
| |
| 47 | + | |
41 | 48 |
| |
42 | 49 |
| |
43 | 50 |
| |
44 | 51 |
| |
45 | 52 |
| |
| 53 | + | |
46 | 54 |
| |
47 | 55 |
| |
48 | 56 |
| |
49 | 57 |
| |
50 | 58 |
| |
| 59 | + | |
51 | 60 |
| |
52 | 61 |
| |
53 | 62 |
| |
54 | 63 |
| |
55 | 64 |
| |
| 65 | + | |
56 | 66 |
| |
57 | 67 |
| |
58 | 68 |
| |
59 | 69 |
| |
60 | 70 |
| |
| 71 | + | |
61 | 72 |
| |
62 | 73 |
| |
63 | 74 |
| |
64 | 75 |
| |
65 | 76 |
| |
| 77 | + | |
66 | 78 |
| |
67 | 79 |
| |
68 | 80 |
| |
69 | 81 |
| |
70 | 82 |
| |
| 83 | + | |
71 | 84 |
| |
72 | 85 |
| |
73 | 86 |
| |
74 | 87 |
| |
75 | 88 |
| |
| 89 | + | |
76 | 90 |
| |
77 | 91 |
| |
78 | 92 |
| |
79 | 93 |
| |
80 | 94 |
| |
| 95 | + | |
81 | 96 |
| |
82 | 97 |
| |
83 | 98 |
| |
84 | 99 |
| |
85 | 100 |
| |
| 101 | + | |
86 | 102 |
| |
87 | 103 |
| |
88 | 104 |
| |
89 | 105 |
| |
| 106 | + | |
| 107 | + | |
| 108 | + | |
90 | 109 |
| |
91 | 110 |
| |
92 | 111 |
| |
|
Lines changed: 10 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
30 | 39 |
| |
31 | 40 |
| |
32 | 41 |
| |
33 | 42 |
| |
34 | 43 |
| |
35 | 44 |
| |
36 | 45 |
| |
| 46 | + | |
37 | 47 |
| |
38 | 48 |
| |
39 | 49 |
| |
|
Lines changed: 7 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
306 | 306 |
| |
307 | 307 |
| |
308 | 308 |
| |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
309 | 316 |
| |
310 | 317 |
| |
311 | 318 |
| |
|
Lines changed: 2 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
108 | 108 |
| |
109 | 109 |
| |
110 | 110 |
| |
| 111 | + | |
| 112 | + | |
111 | 113 |
| |
112 | 114 |
| |
113 | 115 |
| |
|
0 commit comments
Comments
(0)