forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit5721da7
committed
In extensions, don't replace objects not belonging to the extension.
Previously, if an extension script did CREATE OR REPLACE and there wasan existing object not belonging to the extension, it would overwritethe object and adopt it into the extension. This is problematic, firstbecause the overwrite is probably unintentional, and second because wedidn't change the object's ownership. Thus a hostile user could createan object in advance of an expected CREATE EXTENSION command, and wouldthen have ownership rights on an extension object, which could bemodified for trojan-horse-type attacks.Hence, forbid CREATE OR REPLACE of an existing object unless it alreadybelongs to the extension. (Note that we've always forbidden replacingan object that belongs to some other extension; only the behavior forpreviously-free-standing objects changes here.)For the same reason, also fail CREATE IF NOT EXISTS when there isan existing object that doesn't belong to the extension.Our thanks to Sven Klemm for reporting this problem.Security:CVE-2022-26251 parent9a8df33 commit5721da7
File tree
21 files changed
+539
-52
lines changed- doc/src/sgml
- src
- backend
- catalog
- commands
- parser
- include/catalog
- test/modules/test_extensions
- expected
- sql
21 files changed
+539
-52
lines changedLines changed: 0 additions & 11 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1319 | 1319 |
| |
1320 | 1320 |
| |
1321 | 1321 |
| |
1322 |
| - | |
1323 |
| - | |
1324 |
| - | |
1325 |
| - | |
1326 |
| - | |
1327 |
| - | |
1328 |
| - | |
1329 |
| - | |
1330 |
| - | |
1331 |
| - | |
1332 |
| - | |
1333 | 1322 |
| |
1334 | 1323 |
| |
1335 | 1324 |
| |
|
Lines changed: 35 additions & 14 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
78 | 78 |
| |
79 | 79 |
| |
80 | 80 |
| |
81 |
| - | |
82 |
| - | |
83 |
| - | |
84 |
| - | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
85 | 87 |
| |
86 | 88 |
| |
87 | 89 |
| |
88 | 90 |
| |
89 | 91 |
| |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
90 | 100 |
| |
91 | 101 |
| |
92 | 102 |
| |
| |||
116 | 126 |
| |
117 | 127 |
| |
118 | 128 |
| |
119 |
| - | |
120 |
| - | |
121 |
| - | |
122 |
| - | |
123 |
| - | |
124 |
| - | |
125 |
| - | |
126 |
| - | |
127 |
| - | |
128 |
| - | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
129 | 142 |
| |
130 | 143 |
| |
131 | 144 |
| |
| |||
134 | 147 |
| |
135 | 148 |
| |
136 | 149 |
| |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
137 | 158 |
| |
138 | 159 |
| |
139 | 160 |
| |
|
Lines changed: 67 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
166 | 166 |
| |
167 | 167 |
| |
168 | 168 |
| |
169 |
| - | |
| 169 | + | |
| 170 | + | |
170 | 171 |
| |
171 | 172 |
| |
172 | 173 |
| |
173 | 174 |
| |
174 |
| - | |
175 |
| - | |
176 |
| - | |
177 |
| - | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
178 | 179 |
| |
179 | 180 |
| |
180 |
| - | |
181 |
| - | |
182 |
| - | |
183 |
| - | |
184 |
| - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
185 | 186 |
| |
186 | 187 |
| |
187 | 188 |
| |
| |||
199 | 200 |
| |
200 | 201 |
| |
201 | 202 |
| |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
202 | 209 |
| |
203 | 210 |
| |
204 | 211 |
| |
| |||
212 | 219 |
| |
213 | 220 |
| |
214 | 221 |
| |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
215 | 229 |
| |
216 | 230 |
| |
217 | 231 |
| |
| |||
223 | 237 |
| |
224 | 238 |
| |
225 | 239 |
| |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
226 | 283 |
| |
227 | 284 |
| |
228 | 285 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
864 | 864 |
| |
865 | 865 |
| |
866 | 866 |
| |
867 |
| - | |
| 867 | + | |
868 | 868 |
| |
869 | 869 |
| |
870 | 870 |
|
Lines changed: 5 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
548 | 548 |
| |
549 | 549 |
| |
550 | 550 |
| |
551 |
| - | |
552 |
| - | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
553 | 556 |
| |
554 | 557 |
| |
555 | 558 |
| |
|
Lines changed: 14 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
393 | 393 |
| |
394 | 394 |
| |
395 | 395 |
| |
| 396 | + | |
| 397 | + | |
396 | 398 |
| |
397 | 399 |
| |
398 | 400 |
| |
399 | 401 |
| |
400 |
| - | |
| 402 | + | |
| 403 | + | |
401 | 404 |
| |
402 | 405 |
| |
403 | 406 |
| |
404 | 407 |
| |
405 | 408 |
| |
406 | 409 |
| |
407 | 410 |
| |
408 |
| - | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
409 | 421 |
| |
410 | 422 |
| |
411 | 423 |
| |
|
Lines changed: 16 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
859 | 859 |
| |
860 | 860 |
| |
861 | 861 |
| |
862 |
| - | |
863 |
| - | |
| 862 | + | |
| 863 | + | |
864 | 864 |
| |
865 |
| - | |
| 865 | + | |
| 866 | + | |
866 | 867 |
| |
867 | 868 |
| |
868 | 869 |
| |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
869 | 878 |
| |
870 | 879 |
| |
871 | 880 |
| |
| |||
1130 | 1139 |
| |
1131 | 1140 |
| |
1132 | 1141 |
| |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
1133 | 1146 |
| |
1134 | 1147 |
| |
1135 | 1148 |
| |
|
Lines changed: 18 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
112 | 112 |
| |
113 | 113 |
| |
114 | 114 |
| |
115 |
| - | |
116 |
| - | |
| 115 | + | |
117 | 116 |
| |
118 |
| - | |
119 |
| - | |
120 |
| - | |
121 |
| - | |
122 |
| - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
123 | 134 |
| |
124 | 135 |
| |
125 | 136 |
| |
|
Lines changed: 8 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
149 | 149 |
| |
150 | 150 |
| |
151 | 151 |
| |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
152 | 160 |
| |
153 | 161 |
| |
154 | 162 |
| |
|
Lines changed: 4 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
184 | 184 |
| |
185 | 185 |
| |
186 | 186 |
| |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
187 | 191 |
| |
188 | 192 |
| |
189 | 193 |
| |
|
Lines changed: 15 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
190 | 190 |
| |
191 | 191 |
| |
192 | 192 |
| |
193 |
| - | |
| 193 | + | |
194 | 194 |
| |
195 | 195 |
| |
196 | 196 |
| |
| |||
203 | 203 |
| |
204 | 204 |
| |
205 | 205 |
| |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
206 | 218 |
| |
207 | 219 |
| |
| 220 | + | |
| 221 | + | |
208 | 222 |
| |
209 | 223 |
| |
210 | 224 |
| |
|
0 commit comments
Comments
(0)