-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CKAN security #40
Open
BWibo
wants to merge
21
commits into
devel
Choose a base branch
from
feature/ckanext-security
base: devel
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
CKAN security #40
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BWibo
added
effort: 5
priority: now
type: security
Something is vulnerable or not secure.
labels
Aug 31, 2023
…cker into feature/ckanext-security
This reverts commit 6f5f932.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ToDos, questions, notes
ckanext-security
Alternative approaches
ckanext-security
. This requires integration of an auth standard like OAUTH2/SAML/LDAPExisting extensions
Overview issues PenTest
2.1 - mandatory: Massenmailversand: Über die "Passwort vergessen?"-Funktion ist der massenhafte Versand von
E-Mails möglich. Hierfür benötigt man nur einen gültigen Benutzernamen, der unauthentifiziert über
https://sddi-katalog.bayern/user/ ermittelt werden kann (siehe Schwachstelle L4). So war es möglich
50 Mails innerhalb weniger Sekunden zu generieren.
2.2 - mandatory: Veraltete Software mit bekannten Schwachstellen: @MarijaKnezevic bitte alle Dependencies aktualisieren
moments.js
: Die Webanwendung setzt unter https://sddi-katalog.bayern/webassets/webassets-external/76307a4b018a3e05af9d08e07dcf9176_moment.js vermutlich die Version 2.1.0 der Bibliothek moment.js ein. Für diese existieren bekannte Schwachstellen: https://security.snyk.io/package/npm/moment/2.1.0 Ob die Anwendung tatsächlich für die genanntenSchwachstellen anfällig ist konnte im gegebenen
Zeitrahmen und im Blackbox-Verfahren nicht ermittelt werden.
jQuery
: Auf Seiten mit Datensatz-Verknüpfungen – etwa /dataset/relationship/pentest-1 – wird jQuery in Version 2.0.3von der URL https://code.jquery.com/jquery-2.0.3.min.js eingebunden.
dagre.js
:cytoscape.js
:2.3 - mandatory: Fehlender Virenscan bei Dateiupload: Es war möglich eine Testvirus-Datei in die Webanwendung
hochzuladen. Dies deutet darauf hin, dass der in der Richtlinie BayITSiR-14 geforderte Virenscan
beim Upload von Dateien nicht implementiert ist.
ckanext-security
2.4 - mandatory: User Enumeration: Unter https://sddi-katalog.bayern/user/ kann unauthentifizert eine Liste
aller existierender Benutzer abgerufen werden. Diese beinhaltet auch administrative Accounts.
ckan.auth.public_user_details = False
.2.5 - mandatory: Schwache Kennwortrichtlinie: Die derzeit aktive Kennwortrichtlinie fordert lediglich eine
Mindestlänge von 8 Zeichen. So sind zum Beispiel triviale Passwörter wie "12345678" möglich. Hier
sollten mindestens noch weitere Zeichengruppen (Groß- und Kleinbuchstaben oder Sonderzeichen) durch
die Kennwortrichtlinie gefordert werden.
ckanext-security
works.2.6 - mandatory: Brute Force auf Login möglich: Die Anwendung hat keine Schutzmaßnahmen gegen
Brute-Force-Angriffe auf die Login-Funktion. Es wurden innerhalb weniger Sekunden 50 Anmeldeversuche
mit falschem Passwort durchgeführt. Danach war der Login mit korrektem Kenntwort möglich. Zur
Behebung der Schwachstelle sollten weitere Loginversuche nach einem fehlgeschlagenen Anmeldeversuch
erst mit immer weiter steigender Verzögerung möglich sein.
ckanext-security
works.2.7 - mandatory: Cross-Site-Scripting: Bei den Datensätzen ist das Formularfeld "Beschreibung" und bei den Organisationen das Feld "Name" anfällig für Cross-Site-Scripting. In beiden Fällen wurde die Payload
<script>alert("XSS");</script>
eingefügt und der hinterlegte Javascript-Code anschließend ausgeführt. Beim Namensfeld einer Organisation erfolgt die Ausführung jedoch nur auf der Hauptseite in der Liste der Organisationen. Auf der Detailseite der Organisation wurden die Eingaben korrekt behandelt und es kam nicht zu einer Ausführung.name
field for Organizations and thedescription
field of Datasets is properly sanitized regarding XSS vulnerabilities. Please check if example code like this<script>alert("XSS");</script>
is executable through user input, or not. This affects all extension that we maintain, that parse user input in some way.2.8 - informative: Browser password storage is allowed
2.9 - recommended: Unsafe cookie configuration
2.10 - urgent: Missing headers
2.11 - urgent: No session timeout
who.timeout = 3600
https://docs.ckan.org/en/2.9/maintaining/configuration.html#who-timeoutauth_tkt
cookie2.12 - recommended: Javascript from external sources