Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Add a security policy for Elektra #4214

Closed
sedadas opened this issue Dec 21, 2021 · 7 comments
Closed

Add a security policy for Elektra #4214

sedadas opened this issue Dec 21, 2021 · 7 comments
Assignees
Milestone

Comments

@sedadas
Copy link
Contributor

sedadas commented Dec 21, 2021

The recent log4j vulnerability (CVE-2021-44228) showed how important it is for a vulnerability to be be handled as quickly and as clean as possible.
This prompted me to search if Elektra has an established security policy in place but I couldn't find any.

If Elektra does not have such a policy, there are a few "standard" ways to create it, which would make it easier for researchers to report vulnerabilities:

  • normally, a lot of people would add a SECURITY.md file at the root of the project, which would describe how to do this.
  • add a page to the website with the same function

There is also a RFC draft which aims to create a standard on how this is done (tl;dr: a special security.txt file is placed under the .well-known/ path on the website to define the security policy).

It is important for vulnerabilities to be easily reportable as this going through a number of steps is seen as a chore and may discover researchers to report issues.

@sedadas sedadas changed the title Add a security policy for Elektra [FLOSS T3] Add a security policy for Elektra Dec 22, 2021
@markus2330 markus2330 self-assigned this Jan 18, 2022
@markus2330 markus2330 added this to the 0.9.* milestone Jan 18, 2022
@markus2330
Copy link
Contributor

Thank you very much for reporting! I agree that at least doc/AUTHORS.md should contain some information who may be contacted in which situations.

@flo91 flo91 changed the title [FLOSS T3] Add a security policy for Elektra Add a security policy for Elektra Oct 5, 2022
@flo91
Copy link
Collaborator

flo91 commented Oct 5, 2022

@markus2330 As this was an issue for FLOSS last semester, we probably can also offer it for the current FLOSS course.

@markus2330
Copy link
Contributor

No, I am afraid I need to do it at some point. It cannot be done by a FLOSS participant.

@joni1993
Copy link
Contributor

joni1993 commented Nov 7, 2022

Due do recent CVE-2022-3602 and CVE-2022-3786 i want to bring some attention to this topic again.
As elektra is dealing with a potentially critical part of the system there are a few things i miss:

@markus2330
Copy link
Contributor

The topic is tagged as 0.9.* which means we definitely plan to do something before 1.0.0.

while there is some documentation on how to do fuzz testing, its very little

It describes how to do fuzz testing. What do you miss? I don't think it belongs to this issue, though.

states there is manual testing involved, but the procedure is not very transparent

Actually, afaik we already automatized all of it, so we can remove this sentence. @mpranj do you still do some manual tests? Can you remove the sentence?

Should Elektra have at least some sort of security audit?

I don't think it is very important:

  • As Elektra is a library it cannot do anything more/less than what applications could do anyway (no privilege escalation possible)
  • Elektra is designed to only get input from trusted parties (administrators via config files)

But any reviews are very welcome. Which security audit were you thinking of?

@joni1993
Copy link
Contributor

joni1993 commented Nov 7, 2022

It describes how to do fuzz testing. What do you miss? I don't think it belongs to this issue, though.

Basically I miss the transparency on what is exactly done during manual testing.

Should Elektra have at least some sort of security audit?

I don't think it is very important:

  • As Elektra is a library it cannot do anything more/less than what applications could do anyway (no privilege escalation possible)
  • Elektra is designed to only get input from trusted parties (administrators via config files)

What about user software using Elektra? I don't know much about the internals but i could imagine it may be possible to somehow corrupt global mount db as non-admin user (e.g. override a mount for /etc/sudoers) or similar (overriding system/admin config from user namespace)
Also kdb can be used as non-admin user, right?

But any reviews are very welcome. Which security audit were you thinking of?
Non specifically - just came to my mind when reading about OpenSSL.

@markus2330
Copy link
Contributor

corrupt global mount db as non-admin user (e.g. override a mount for /etc/sudoers) or similar (overriding system/admin config from user namespace)

No, exactly this is impossible (at least as long the operating system works correctly).

Also kdb can be used as non-admin user, right?

Yes, but it wouldn't allow you to do admin actions, you get a permission error.

See doc/TESTING.md for various workarounds to let the admin tests run on your computer.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants