diff options
author | Ben Wiederhake <BenWiederhake.GitHub@gmx.de> | 2021-02-15 21:06:18 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-02-15 22:09:01 +0100 |
commit | fbb85f9b2f1aaa68407590a94ce046fa0c2271ad (patch) | |
tree | 13afd3df5513bd70356e843df0563ecc5baf40fc /AK/Weakable.h | |
parent | fc2a4511ece972886c0e6caa16313d9a097339ae (diff) | |
download | serenity-fbb85f9b2f1aaa68407590a94ce046fa0c2271ad.zip |
Kernel: Refuse excessively long iovec list, also in readv
This bug is a good example why copy-paste code should eventually be eliminated
from the code base: Apparently the code was copied from read.cpp before
c6027ed7cce901dc0d2b6f68002a911178ae587f, so the same bug got introduced here.
To recap: A malicious program can ask the Kernel to prepare sys-ing to
a huge amount of iovecs. The Kernel must first copy all the vector locations
into 'vecs', and before that allocates an arbitrary amount of memory:
vecs.resize(iov_count);
This can cause Kernel memory exhaustion, triggered by any malicious userland
program.
Diffstat (limited to 'AK/Weakable.h')
0 files changed, 0 insertions, 0 deletions