Commit 7e967be
committed
initrd/functions, init: harden rollback marker path handling
Prevent path traversal via a tampered rollback marker file:
- Read only the first line of the marker (blocks multi-line injection)
- Resolve the path with readlink -f before using it
- Validate the resolved path matches /boot/<brand>/backup_*.rom
pattern; clear the marker and continue boot if it does not
- Use the resolved, validated path for the actual reflash
Also correct the comment in init for the manual rollback path ('b'):
the fallback-to-most-recent-backup behaviour described in the old
comment was never implemented; check_pending_rollback() returns
silently when no marker is present, so boot just continues.
Signed-off-by: Thierry Laurion <insurgo@riseup.net>1 parent ac36ee6 commit 7e967be
2 files changed
Lines changed: 25 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
305 | 308 | | |
306 | 309 | | |
307 | 310 | | |
308 | 311 | | |
309 | 312 | | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
310 | 326 | | |
311 | 327 | | |
312 | 328 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
218 | | - | |
219 | | - | |
220 | | - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
221 | 222 | | |
222 | 223 | | |
223 | 224 | | |
224 | 225 | | |
225 | 226 | | |
226 | | - | |
227 | | - | |
228 | 227 | | |
229 | | - | |
230 | 228 | | |
231 | 229 | | |
232 | 230 | | |
| |||
0 commit comments