Vulnerability Scan Result

| Title: | CodiMD - Collaborative markdown notes |
| Description: | Understanding Composite Door Damage: Causes, Prevention, and Solutions Composite doors have be |
| ip_address | 136.243.171.22 |
| country | DE |
| network_name | Hetzner Online GmbH |
| asn | AS24940 |
22/tcp | ssh | OpenSSH 9.6p1 Ubuntu 3ubuntu13.14 |
80/tcp | http | nginx 1.24.0 |
443/tcp | https | nginx - |
8000/tcp | nagios-nsca | Nagios NSCA - |
8080/tcp | http | nginx - |
| Software / Version | Category |
|---|---|
| Babel | Miscellaneous |
| cdnjs | CDN |
| D3 3.5.17 | JavaScript graphics |
| Raphael 2.1.2 | JavaScript graphics |
| Express | Web frameworks, Web servers |
| Font Awesome 4.7.0 | Font scripts |
| Bootstrap 3.3.7 | UI frameworks |
| core-js 2.5.1 | JavaScript libraries |
| Handlebars 4.0.5 | JavaScript frameworks |
| Highlight.js | JavaScript libraries |
| Ionicons | Font scripts |
| jQuery 3.1.13 | JavaScript libraries |
| Mermaid | JavaScript graphics |
| Moment.js 2.17.1 | JavaScript libraries |
| Nginx | Web servers, Reverse proxies |
| Node.js | Programming languages |
| Prism | Miscellaneous |
| Cloudflare | CDN |
| Lodash 4.17.4 | JavaScript libraries |
| MathJax 2.7.0 | JavaScript graphics |
| HSTS | Security |
Web Application Vulnerabilities
Evidence
| CVE | CVSS | EPSS Score | EPSS Percentile | Summary |
|---|---|---|---|---|
| CVE-2019-10744 | 9.1 | 0.03194 | 0.87125 | Versions of lodash lower than 4.17.12 are vulnerable to Prototype Pollution. The function defaultsDeep could be tricked into adding or modifying properties of Object.prototype using a constructor payload. |
| CVE-2026-4800 | 8.1 | 0.00038 | 0.11564 | Impact: The fix for CVE-2021-23337 (https://github.com/advisories/GHSA-35jh-r3h4-6jhm) added validation for the variable option in _.template but did not apply the same validation to options.imports key names. Both paths flow into the same Function() constructor sink. When an application passes untrusted input as options.imports key names, an attacker can inject default-parameter expressions that execute arbitrary code at template compilation time. Additionally, _.template uses assignInWith to merge imports, which enumerates inherited properties via for..in. If Object.prototype has been polluted by any other vector, the polluted keys are copied into the imports object and passed to Function(). Patches: Users should upgrade to version 4.18.0. Workarounds: Do not pass untrusted input as key names in options.imports. Only use developer-controlled, static key names. |
| CVE-2020-8203 | 7.4 | 0.0322 | 0.87186 | Prototype pollution attack when using _.zipObjectDeep in lodash before 4.17.20. |
| CVE-2021-23337 | 7.2 | 0.03287 | 0.87331 | Lodash versions prior to 4.17.21 are vulnerable to Command Injection via the template function. |
| CVE-2025-13465 | 6.9 | 0.00029 | 0.08545 | Lodash versions 4.0.0 through 4.17.22 are vulnerable to prototype pollution in the _.unset and _.omit functions. An attacker can pass crafted paths which cause Lodash to delete methods from global prototypes. The issue permits deletion of properties but does not allow overwriting their original behavior. This issue is patched on 4.17.23 |
Vulnerability description
Outdated or vulnerable software components include versions of server-side software that are no longer supported or have known, publicly disclosed vulnerabilities. Using outdated software significantly increases the attack surface of a system and may allow unauthorized access, data leaks, or service disruptions. Vulnerabilities in these components are often well-documented and actively exploited by attackers. Without security patches or vendor support, any weaknesses remain unmitigated, exposing the application to risks. In some cases, even after patching, the reported version may remain unchanged, requiring manual verification.
Risk description
The risk is that an attacker could search for an appropriate exploit (or create one himself) for any of these vulnerabilities and use it to attack the system. Since the vulnerabilities were discovered using only version-based testing, the risk level for this finding will not exceed 'high' severity. Critical risks will be assigned to vulnerabilities identified through accurate active testing methods.
Recommendation
In order to eliminate the risk of these vulnerabilities, we recommend you check the installed software version and upgrade to the latest version.
Classification
| CWE | CWE-1035 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| CVE | CVSS | EPSS Score | EPSS Percentile | Summary |
|---|---|---|---|---|
| CVE-2019-19919 | 9.8 | 0.24752 | 0.96203 | Versions of handlebars prior to 4.3.0 are vulnerable to Prototype Pollution leading to Remote Code Execution. Templates may alter an Object's __proto__ and __defineGetter__ properties, which may allow an attacker to execute arbitrary code through crafted payloads. |
Vulnerability description
Outdated or vulnerable software components include versions of server-side software that are no longer supported or have known, publicly disclosed vulnerabilities. Using outdated software significantly increases the attack surface of a system and may allow unauthorized access, data leaks, or service disruptions. Vulnerabilities in these components are often well-documented and actively exploited by attackers. Without security patches or vendor support, any weaknesses remain unmitigated, exposing the application to risks. In some cases, even after patching, the reported version may remain unchanged, requiring manual verification.
Risk description
The risk is that an attacker could search for an appropriate exploit (or create one himself) for any of these vulnerabilities and use it to attack the system. Since the vulnerabilities were discovered using only version-based testing, the risk level for this finding will not exceed 'high' severity. Critical risks will be assigned to vulnerabilities identified through accurate active testing methods.
Recommendation
In order to eliminate the risk of these vulnerabilities, we recommend you check the installed software version and upgrade to the latest version.
Classification
| CWE | CWE-1035 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| CVE | CVSS | EPSS Score | EPSS Percentile | Summary |
|---|---|---|---|---|
| CVE-2023-39663 | 7.5 | 0.00188 | 0.40309 | Mathjax up to v2.7.9 was discovered to contain two Regular expression Denial of Service (ReDoS) vulnerabilities in MathJax.js via the components pattern and markdownPattern. NOTE: the vendor disputes this because the regular expressions are not applied to user input; thus, there is no risk. |
| CVE-2018-1999024 | 5.4 | 0.00239 | 0.4701 | MathJax version prior to version 2.7.4 contains a Cross Site Scripting (XSS) vulnerability in the \unicode{} macro that can result in Potentially untrusted Javascript running within a web browser. This attack appear to be exploitable via The victim must view a page where untrusted content is processed using Mathjax. This vulnerability appears to have been fixed in 2.7.4 and later. |
Vulnerability description
Outdated or vulnerable software components include versions of server-side software that are no longer supported or have known, publicly disclosed vulnerabilities. Using outdated software significantly increases the attack surface of a system and may allow unauthorized access, data leaks, or service disruptions. Vulnerabilities in these components are often well-documented and actively exploited by attackers. Without security patches or vendor support, any weaknesses remain unmitigated, exposing the application to risks. In some cases, even after patching, the reported version may remain unchanged, requiring manual verification.
Risk description
The risk is that an attacker could search for an appropriate exploit (or create one himself) for any of these vulnerabilities and use it to attack the system. Since the vulnerabilities were discovered using only version-based testing, the risk level for this finding will not exceed 'high' severity. Critical risks will be assigned to vulnerabilities identified through accurate active testing methods.
Recommendation
In order to eliminate the risk of these vulnerabilities, we recommend you check the installed software version and upgrade to the latest version.
Classification
| CWE | CWE-1035 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| CVE | CVSS | EPSS Score | EPSS Percentile | Summary |
|---|---|---|---|---|
| CVE-2022-24785 | 7.5 | 0.02256 | 0.84765 | Moment.js is a JavaScript date library for parsing, validating, manipulating, and formatting dates. A path traversal vulnerability impacts npm (server) users of Moment.js between versions 1.0.1 and 2.29.1, especially if a user-provided locale string is directly used to switch moment locale. This problem is patched in 2.29.2, and the patch can be applied to all affected versions. As a workaround, sanitize the user-provided locale name before passing it to Moment.js. |
| CVE-2017-18214 | 7.5 | 0.00322 | 0.55375 | The moment module before 2.19.3 for Node.js is prone to a regular expression denial of service via a crafted date string, a different vulnerability than CVE-2016-4055. |
Vulnerability description
Outdated or vulnerable software components include versions of server-side software that are no longer supported or have known, publicly disclosed vulnerabilities. Using outdated software significantly increases the attack surface of a system and may allow unauthorized access, data leaks, or service disruptions. Vulnerabilities in these components are often well-documented and actively exploited by attackers. Without security patches or vendor support, any weaknesses remain unmitigated, exposing the application to risks. In some cases, even after patching, the reported version may remain unchanged, requiring manual verification.
Risk description
The risk is that an attacker could search for an appropriate exploit (or create one himself) for any of these vulnerabilities and use it to attack the system. Since the vulnerabilities were discovered using only version-based testing, the risk level for this finding will not exceed 'high' severity. Critical risks will be assigned to vulnerabilities identified through accurate active testing methods.
Recommendation
In order to eliminate the risk of these vulnerabilities, we recommend you check the installed software version and upgrade to the latest version.
Classification
| CWE | CWE-1035 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| CVE | CVSS | EPSS Score | EPSS Percentile | Summary |
|---|---|---|---|---|
| CVE-2024-6484 | 6.4 | 0.00049 | 0.15167 | A vulnerability has been identified in Bootstrap that exposes users to Cross-Site Scripting (XSS) attacks. The issue is present in the carousel component, where the data-slide and data-slide-to attributes can be exploited through the href attribute of an <a> tag due to inadequate sanitization. This vulnerability could potentially enable attackers to execute arbitrary JavaScript within the victim's browser. |
| CVE-2019-8331 | 6.1 | 0.01668 | 0.82292 | In Bootstrap before 3.4.1 and 4.3.x before 4.3.1, XSS is possible in the tooltip or popover data-template attribute. |
| CVE-2018-20677 | 6.1 | 0.09999 | 0.93138 | In Bootstrap before 3.4.0, XSS is possible in the affix configuration target property. |
| CVE-2018-20676 | 6.1 | 0.05658 | 0.90455 | In Bootstrap before 3.4.0, XSS is possible in the tooltip data-viewport attribute. |
| CVE-2018-14042 | 6.1 | 0.02281 | 0.84842 | In Bootstrap before 4.1.2, XSS is possible in the data-container property of tooltip. |
Vulnerability description
Outdated or vulnerable software components include versions of server-side software that are no longer supported or have known, publicly disclosed vulnerabilities. Using outdated software significantly increases the attack surface of a system and may allow unauthorized access, data leaks, or service disruptions. Vulnerabilities in these components are often well-documented and actively exploited by attackers. Without security patches or vendor support, any weaknesses remain unmitigated, exposing the application to risks. In some cases, even after patching, the reported version may remain unchanged, requiring manual verification.
Risk description
The risk is that an attacker could search for an appropriate exploit (or create one himself) for any of these vulnerabilities and use it to attack the system. Since the vulnerabilities were discovered using only version-based testing, the risk level for this finding will not exceed 'high' severity. Critical risks will be assigned to vulnerabilities identified through accurate active testing methods.
Recommendation
In order to eliminate the risk of these vulnerabilities, we recommend you check the installed software version and upgrade to the latest version.
Classification
| CWE | CWE-1035 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| URL | Cookie Name | Evidence |
|---|---|---|
| https://hackmd.okfn.de/s/HJ_O-TWJMg | connect.sid | Set-Cookie: connect.sid=s%3AG9ec68uB4cFUXxcBUIG1sDDRureOOTA-.gyj6Qzczo1e0Gd%2BotCdGGi05Sl9FqS2DhFCAYJdInQU |
Vulnerability description
We found that a cookie has been set without the Secure flag, which means the browser will send it over an unencrypted channel (plain HTTP) if such a request is made. The root cause for this usually revolves around misconfigurations in the code or server settings.
Risk description
The risk exists that an attacker will intercept the clear-text communication between the browser and the server and he will steal the cookie of the user. If this is a session cookie, the attacker could gain unauthorized access to the victim's web session.
Recommendation
Whenever a cookie contains sensitive information or is a session token, then it should always be passed using an encrypted channel. Ensure that the secure flag is set for cookies containing such sensitive information.
Classification
| CWE | CWE-614 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| URL | Evidence |
|---|---|
| https://hackmd.okfn.de/s/HJ_O-TWJMg | Response headers include the HTTP Content-Security-Policy security header with the following security issues: |
Vulnerability description
We noticed that the Content-Security-Policy (CSP) header configured for the web application includes unsafe directives. The CSP header activates a protection mechanism implemented in web browsers which prevents exploitation of Cross-Site Scripting vulnerabilities (XSS) by restricting the sources from which content can be loaded or executed.
Risk description
For example, if the unsafe-inline directive is present in the CSP header, the execution of inline scripts and event handlers is allowed. This can be exploited by an attacker to execute arbitrary JavaScript code in the context of the vulnerable application.
Recommendation
Remove the unsafe values from the directives, adopt nonces or hashes for safer inclusion of inline scripts if they are needed, and explicitly define the sources from which scripts, styles, images or other resources can be loaded.
Classification
| CWE | CWE-1021 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| URL | Evidence |
|---|---|
| https://hackmd.okfn.de/s/HJ_O-TWJMg | Response headers do not include the X-Content-Type-Options HTTP security header |
Vulnerability description
We noticed that the target application's server responses lack the X-Content-Type-Options header. This header is particularly important for preventing Internet Explorer from reinterpreting the content of a web page (MIME-sniffing) and thus overriding the value of the Content-Type header.
Risk description
The risk is that lack of this header could make possible attacks such as Cross-Site Scripting or phishing in Internet Explorer browsers.
Recommendation
We recommend setting the X-Content-Type-Options header such as `X-Content-Type-Options: nosniff`.
Classification
| CWE | CWE-693 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| Software / Version | Category |
|---|---|
| Babel | Miscellaneous |
| cdnjs | CDN |
| D3 3.5.17 | JavaScript graphics |
| Raphael 2.1.2 | JavaScript graphics |
| Express | Web frameworks, Web servers |
| Font Awesome 4.7.0 | Font scripts |
| Bootstrap 3.3.7 | UI frameworks |
| core-js 2.5.1 | JavaScript libraries |
| Handlebars 4.0.5 | JavaScript frameworks |
| Highlight.js | JavaScript libraries |
| Ionicons | Font scripts |
| jQuery 3.1.13 | JavaScript libraries |
| Mermaid | JavaScript graphics |
| Moment.js 2.17.1 | JavaScript libraries |
| Nginx | Web servers, Reverse proxies |
| Node.js | Programming languages |
| Prism | Miscellaneous |
| Cloudflare | CDN |
| Lodash 4.17.4 | JavaScript libraries |
| MathJax 2.7.0 | JavaScript graphics |
| HSTS | Security |
Vulnerability description
We noticed that server software and technology details are exposed, potentially aiding attackers in tailoring specific exploits against identified systems and versions.
Risk description
The risk is that an attacker could use this information to mount specific attacks against the identified software type and version.
Recommendation
We recommend you to eliminate the information which permits the identification of software platform, technology, server and operating system: HTTP server headers, HTML meta information, etc.
Classification
| CWE | CWE-200 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Evidence
| URL | Method | Summary |
|---|---|---|
| https://hackmd.okfn.de/s/HJ_O-TWJMg | OPTIONS | We did a HTTP OPTIONS request. The server responded with a 200 status code and the header: `Allow: GET,HEAD` Request / Response |
Vulnerability description
We have noticed that the webserver responded with an Allow HTTP header when an OPTIONS HTTP request was sent. This method responds to requests by providing information about the methods available for the target resource.
Risk description
The only risk this might present nowadays is revealing debug HTTP methods that can be used on the server. This can present a danger if any of those methods can lead to sensitive information, like authentication information, secret keys.
Recommendation
We recommend that you check for unused HTTP methods or even better, disable the OPTIONS method. This can be done using your webserver configuration.
Classification
| CWE | CWE-16 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Vulnerability description
We have noticed that the server is missing the security.txt file, which is considered a good practice for web security. It provides a standardized way for security researchers and the public to report security vulnerabilities or concerns by outlining the preferred method of contact and reporting procedures.
Risk description
There is no particular risk in not having a security.txt file for your server. However, this file is important because it offers a designated channel for reporting vulnerabilities and security issues.
Recommendation
We recommend you to implement the security.txt file according to the standard, in order to allow researchers or users report any security issues they find, improving the defensive mechanisms of your server.
Classification
| CWE | CWE-1188 |
| OWASP Top 10 - 2017 | |
| OWASP Top 10 - 2021 |
Infrastructure Vulnerabilities
Evidence
| CVE | CVSS | EPSS Score | EPSS Percentile | CISA KEV | Summary |
|---|---|---|---|---|---|
| CVE-2023-39663 | 7.5 | 0.00188 | 0.40309 | No | Mathjax up to v2.7.9 was discovered to contain two Regular expression Denial of Service (ReDoS) vulnerabilities in MathJax.js via the components pattern and markdownPattern. NOTE: the vendor disputes this because the regular expressions are not applied to user input; thus, there is no risk. |
| CVE-2018-1999024 | 5.4 | 0.00239 | 0.4701 | No | MathJax version prior to version 2.7.4 contains a Cross Site Scripting (XSS) vulnerability in the \unicode{} macro that can result in Potentially untrusted Javascript running within a web browser. This attack appear to be exploitable via The victim must view a page where untrusted content is processed using Mathjax. This vulnerability appears to have been fixed in 2.7.4 and later. |
Vulnerability description
Vulnerabilities found for MathJax 2.7.0
Risk description
These vulnerabilities expose the affected applications to the risk of unauthorized access to confidential data and possibly to denial of service attacks. An attacker could search for an appropriate exploit (or create one) for any of these vulnerabilities and use it to attack the system. Notes: - The vulnerabilities are identified based on the server's version.; - Only the first 5 vulnerabilities with the highest risk are shown for each port.; Since the vulnerabilities were discovered using only version-based testing, the risk level for this finding will not exceed "high" severity. Critical risks will be assigned to vulnerabilities identified through accurate active testing methods.
Recommendation
We recommend you to upgrade the affected software to the latest version in order to eliminate the risks imposed by these vulnerabilities.
Evidence
We managed to detect a publicly accessible SSH service. Starting Nmap ( https://nmap.org ) at 2026-05-15 07:19 EEST Nmap scan report for hackmd.okfn.de (136.243.171.22) Host is up (0.0056s latency). Other addresses for hackmd.okfn.de (not scanned): 2a01:4f8:171:2015::2 rDNS record for 136.243.171.22: schroeder.okfn.de
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.14 (Ubuntu Linux; protocol 2.0) | ssh-auth-methods: | Supported authentication methods: | publickey |_ password Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 0.62 seconds
Vulnerability description
We found that the SSH service with username/password authentication is publicly accessible. Network administrators often use remote administration protocols to control devices like switches, routers, and other essential systems. However, allowing these services to be accessible via the Internet can increase security risks, creating potential opportunities for attacks on the organization.
Risk description
Exposing this service online with username/password authentication can enable attackers to launch authentication attacks, like guessing login credentials, and potentially gaining unauthorized access. Vulnerabilities, such as unpatched software, protocol flaws, or backdoors could also be exploited. An example is the CVE-2024-3094 (XZ Utils Backdoor) vulnerability.
Recommendation
We recommend turning off SSH with username/password authentication access over the Internet and instead using a Virtual Private Network (VPN) that mandates two-factor authentication (2FA). If the SSH service is essential for business purposes, we recommend limiting access only from designated IP addresses using a firewall. Furthermore, it is advisable to utilize SSH Public Key Authentication since it employs a key pair to verify the identity of a user or process.
Evidence
| Operating System | Accuracy |
|---|---|
| Linux 5.0 - 5.4 | 100% |
Vulnerability description
OS Detection
Evidence
| Software / Version | Category |
|---|---|
| Ruby | Programming languages |
| PHP | Programming languages |
| Ruby on Rails | Web frameworks |
| Nginx | Web servers, Reverse proxies |
Vulnerability description
We noticed that server software and technology details are exposed, potentially aiding attackers in tailoring specific exploits against identified systems and versions.
Risk description
The risk is that an attacker could use this information to mount specific attacks against the identified software type and version.
Recommendation
We recommend you to eliminate the information which permits the identification of software platform, technology, server and operating system: HTTP server headers, HTML meta information, etc.
Evidence
| Software / Version | Category |
|---|---|
| Node.js | Programming languages |
| PHP | Programming languages |
| spin.js | JavaScript graphics |
| Mermaid | JavaScript graphics |
| MathJax 2.7.0 | JavaScript graphics |
| Bootstrap 0.11.8 | UI frameworks |
| Nginx | Web servers, Reverse proxies |
| Socket.io | JavaScript frameworks |
| Handlebars | JavaScript frameworks |
| Express | Web frameworks, Web servers |
| Cloudflare | CDN |
| Lodash | JavaScript libraries |
| Highlight.js | JavaScript libraries |
| Select2 | JavaScript libraries |
| Moment.js | JavaScript libraries |
| jQuery 3.1.13 | JavaScript libraries |
| cdnjs | CDN |
| HSTS | Security |
Vulnerability description
We noticed that server software and technology details are exposed, potentially aiding attackers in tailoring specific exploits against identified systems and versions.
Risk description
The risk is that an attacker could use this information to mount specific attacks against the identified software type and version.
Recommendation
We recommend you to eliminate the information which permits the identification of software platform, technology, server and operating system: HTTP server headers, HTML meta information, etc.
Evidence
| Domain Queried | DNS Record Type | Description | Value |
|---|---|---|---|
| hackmd.okfn.de | A | IPv4 address | 136.243.171.22 |
| hackmd.okfn.de | AAAA | IPv6 address | 2a01:4f8:171:2015::2 |
| hackmd.okfn.de | SPF | Sender Policy Framework | "v=spf1 a mx ip4:136.243.171.22 ip6:2a01:4f8:171:2015::/64 -all" |
| hackmd.okfn.de | CNAME | Canonical name | schroeder.okfn.de |
Risk description
An initial step for an attacker aiming to learn about an organization involves conducting searches on its domain names to uncover DNS records associated with the organization. This strategy aims to amass comprehensive insights into the target domain, enabling the attacker to outline the organization's external digital landscape. This gathered intelligence may subsequently serve as a foundation for launching attacks, including those based on social engineering techniques. DNS records pointing to services or servers that are no longer in use can provide an attacker with an easy entry point into the network.
Recommendation
We recommend reviewing all DNS records associated with the domain and identifying and removing unused or obsolete records.
