Commit 588bb6d
authored
gh-126037: fix UAF in `xml.etree.ElementTree.Element.find*` when concurrent mutations happen (#127964)
We fix a use-after-free in the `find`, `findtext` and `findall` methods of `xml.etree.ElementTree.Element`
objects that can be triggered when the tag to find implements an `__eq__` method that mutates the
element being queried.
(cherry picked from commit c57623c)
1 parent 1918799 commit 588bb6d
File tree
3 files changed
+70
-49
lines changed- Lib/test
- Misc/NEWS.d/next/Library
- Modules
3 files changed
+70
-49
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2793 | 2793 | | |
2794 | 2794 | | |
2795 | 2795 | | |
2796 | | - | |
| 2796 | + | |
2797 | 2797 | | |
2798 | 2798 | | |
2799 | 2799 | | |
2800 | 2800 | | |
| 2801 | + | |
2801 | 2802 | | |
2802 | 2803 | | |
2803 | 2804 | | |
2804 | | - | |
| 2805 | + | |
| 2806 | + | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
2805 | 2821 | | |
2806 | 2822 | | |
2807 | 2823 | | |
2808 | 2824 | | |
2809 | | - | |
| 2825 | + | |
| 2826 | + | |
| 2827 | + | |
2810 | 2828 | | |
2811 | 2829 | | |
2812 | 2830 | | |
| |||
2821 | 2839 | | |
2822 | 2840 | | |
2823 | 2841 | | |
2824 | | - | |
2825 | | - | |
2826 | | - | |
| 2842 | + | |
| 2843 | + | |
| 2844 | + | |
| 2845 | + | |
| 2846 | + | |
2827 | 2847 | | |
2828 | 2848 | | |
2829 | 2849 | | |
| |||
2834 | 2854 | | |
2835 | 2855 | | |
2836 | 2856 | | |
2837 | | - | |
2838 | | - | |
2839 | | - | |
| 2857 | + | |
| 2858 | + | |
| 2859 | + | |
| 2860 | + | |
| 2861 | + | |
2840 | 2862 | | |
2841 | 2863 | | |
2842 | 2864 | | |
| |||
2861 | 2883 | | |
2862 | 2884 | | |
2863 | 2885 | | |
2864 | | - | |
2865 | | - | |
2866 | | - | |
| 2886 | + | |
| 2887 | + | |
| 2888 | + | |
| 2889 | + | |
| 2890 | + | |
2867 | 2891 | | |
2868 | 2892 | | |
2869 | 2893 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1249 | 1249 | | |
1250 | 1250 | | |
1251 | 1251 | | |
1252 | | - | |
1253 | 1252 | | |
1254 | 1253 | | |
1255 | 1254 | | |
1256 | 1255 | | |
1257 | 1256 | | |
1258 | | - | |
| 1257 | + | |
1259 | 1258 | | |
1260 | 1259 | | |
1261 | | - | |
1262 | | - | |
1263 | | - | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
| 1260 | + | |
| 1261 | + | |
1267 | 1262 | | |
1268 | 1263 | | |
1269 | | - | |
1270 | | - | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
1271 | 1268 | | |
| 1269 | + | |
1272 | 1270 | | |
1273 | | - | |
| 1271 | + | |
1274 | 1272 | | |
| 1273 | + | |
1275 | 1274 | | |
1276 | 1275 | | |
1277 | 1276 | | |
| |||
1294 | 1293 | | |
1295 | 1294 | | |
1296 | 1295 | | |
1297 | | - | |
1298 | 1296 | | |
1299 | 1297 | | |
1300 | 1298 | | |
1301 | 1299 | | |
1302 | 1300 | | |
1303 | 1301 | | |
1304 | | - | |
1305 | | - | |
1306 | | - | |
1307 | | - | |
1308 | | - | |
| 1302 | + | |
1309 | 1303 | | |
1310 | | - | |
| 1304 | + | |
1311 | 1305 | | |
1312 | | - | |
1313 | 1306 | | |
1314 | 1307 | | |
1315 | | - | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
1316 | 1311 | | |
1317 | | - | |
| 1312 | + | |
| 1313 | + | |
1318 | 1314 | | |
1319 | | - | |
1320 | | - | |
| 1315 | + | |
1321 | 1316 | | |
1322 | 1317 | | |
1323 | | - | |
1324 | 1318 | | |
1325 | 1319 | | |
1326 | 1320 | | |
1327 | | - | |
| 1321 | + | |
1328 | 1322 | | |
| 1323 | + | |
1329 | 1324 | | |
1330 | 1325 | | |
1331 | 1326 | | |
| |||
1346 | 1341 | | |
1347 | 1342 | | |
1348 | 1343 | | |
1349 | | - | |
1350 | | - | |
1351 | 1344 | | |
1352 | 1345 | | |
1353 | 1346 | | |
1354 | 1347 | | |
1355 | 1348 | | |
1356 | | - | |
| 1349 | + | |
1357 | 1350 | | |
1358 | 1351 | | |
1359 | | - | |
1360 | | - | |
| 1352 | + | |
| 1353 | + | |
1361 | 1354 | | |
| 1355 | + | |
1362 | 1356 | | |
1363 | | - | |
1364 | | - | |
1365 | | - | |
1366 | | - | |
1367 | | - | |
1368 | | - | |
| 1357 | + | |
| 1358 | + | |
1369 | 1359 | | |
1370 | 1360 | | |
1371 | | - | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
1372 | 1364 | | |
1373 | 1365 | | |
1374 | 1366 | | |
| |||
0 commit comments