core: when deserializing state always use read_line(…, LONG_LINE_MAX, …)
authorLennart Poettering <lennart@poettering.net>
Wed, 17 Oct 2018 16:36:24 +0000 (18:36 +0200)
committerMichael Biebl <biebl@debian.org>
Sat, 17 Nov 2018 17:39:21 +0000 (17:39 +0000)
commit1cf0e71cdaf96c531e5532a872f303742fe99c45
tree2a509b365e8b1a14c259227db5206fba369198c2
parent1b5b4edfc8368594921af119b0f1b516676a830f
core: when deserializing state always use read_line(…, LONG_LINE_MAX, …)

This should be much better than fgets(), as we can read substantially
longer lines and overly long lines result in proper errors.

Fixes a vulnerability discovered by Jann Horn at Google.

CVE-2018-15686
LP: #1796402
https://bugzilla.redhat.com/show_bug.cgi?id=1639071

(cherry picked from commit 8948b3415d762245ebf5e19d80b97d4d8cc208c1)
(cherry picked from commit 1a05ff4948d778280ec155a9abe69d3360bfddd9)

Gbp-Pq: Name core-when-deserializing-state-always-use-read_line-LONG_L.patch
src/core/job.c
src/core/manager.c
src/core/unit.c
src/core/unit.h