Forbid more syscalls which could modify the filesystem
ClosedPublic

Authored by davidk on Nov 11 2017, 7:17 AM.

Details

Summary

Forbid more syscalls. An malicious theme could create directories with the
password as name, or encode the password in chmod bits. Also, prevent
deleting anything, so a theme can't delete the users files.

Test Plan
  • Autotests run fine
  • Started sceenlocker, unlocked, created a new session. Got no seccomp violations in dmesg and everything worked fine.
  • Didn't test it with the nvidia driver

Diff Detail

Repository
R133 KScreenLocker
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidk created this revision.Nov 11 2017, 7:17 AM
Restricted Application added a project: Plasma. · View Herald TranscriptNov 11 2017, 7:17 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
graesslin accepted this revision.Nov 11 2017, 7:38 AM
This revision is now accepted and ready to land.Nov 11 2017, 7:38 AM
This revision was automatically updated to reflect the committed changes.
bshah added a subscriber: bshah.Dec 6 2017, 6:08 AM

Hello,

It seems this commit doesn't seem to build on arm64 properly: https://build.neon.kde.org/job/xenial_unstable_plasma_kscreenlocker_bin_arm64/1/console

I don't exactly understand what's going on.

davidk added a comment.Jan 5 2018, 6:56 AM
In D8756#176550, @bshah wrote:

Hello,

It seems this commit doesn't seem to build on arm64 properly: https://build.neon.kde.org/job/xenial_unstable_plasma_kscreenlocker_bin_arm64/1/console

I don't exactly understand what's going on.

Sorry for beein inactive for some time, real life was busy...
I'm not sure what happens here as well. I guess that arm64 doesn't implement many syscalls. I will prepare a patch to exclude those syscalls if they're not available.

davidk added a comment.Jan 5 2018, 7:22 AM

I'm not sure what happens here as well. I guess that arm64 doesn't implement many syscalls. I will prepare a patch to exclude those syscalls if they're not available.

Here it is: D9673