forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitb9c3bb1
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 parent43d4e96 commitb9c3bb1
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 | |
---|---|---|---|
| |||
188 | 188 |
| |
189 | 189 |
| |
190 | 190 |
| |
191 |
| - | |
192 |
| - | |
193 |
| - | |
194 |
| - | |
195 |
| - | |
196 |
| - | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
197 | 202 |
| |
198 | 203 |
| |
199 | 204 |
| |
|
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 | |
---|---|---|---|
| |||
1161 | 1161 |
| |
1162 | 1162 |
| |
1163 | 1163 |
| |
1164 |
| - | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
1165 | 1168 |
| |
1166 | 1169 |
| |
1167 | 1170 |
| |
1168 |
| - | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
1169 | 1176 |
| |
1170 |
| - | |
1171 |
| - | |
1172 |
| - | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
1173 | 1180 |
| |
1174 | 1181 |
| |
1175 | 1182 |
| |
| |||
1521 | 1528 |
| |
1522 | 1529 |
| |
1523 | 1530 |
| |
1524 |
| - | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
1525 | 1535 |
| |
1526 | 1536 |
| |
1527 |
| - | |
1528 |
| - | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
1529 | 1543 |
| |
1530 |
| - | |
1531 |
| - | |
1532 |
| - | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
1533 | 1547 |
| |
1534 | 1548 |
| |
1535 | 1549 |
| |
| |||
1655 | 1669 |
| |
1656 | 1670 |
| |
1657 | 1671 |
| |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
1658 | 1675 |
| |
1659 | 1676 |
| |
1660 | 1677 |
| |
| |||
1667 | 1684 |
| |
1668 | 1685 |
| |
1669 | 1686 |
| |
| 1687 | + | |
1670 | 1688 |
| |
| 1689 | + | |
| 1690 | + | |
1671 | 1691 |
| |
1672 | 1692 |
| |
1673 | 1693 |
| |
| |||
1808 | 1828 |
| |
1809 | 1829 |
| |
1810 | 1830 |
| |
1811 |
| - | |
1812 |
| - | |
1813 | 1831 |
| |
1814 | 1832 |
| |
1815 | 1833 |
| |
|
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)