Skip to content
Heist/ feed
Back to feed
Low

grimmory-tools grimmory Download Endpoint KoboController.java streamFileToResponse authorization

Type: advisorySources: OSV

A vulnerability was detected in grimmory-tools grimmory up to 3.3.3/3.4.1. Affected by this vulnerability is the function streamFileToResponse of the file backend/src/main/java/org/booklore/controller/KoboController.java of the component Download Endpoint. Performing a manipulation of the argument bookId results in authorization bypass. The attack may be initiated remotely. The exploit is now public and may be used. Issue #2431 is closed as completed, but its only comment states that the issue “has already been reported elsewhere.” No fixing commit or pull request is identified there.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-93955
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 20:09 UTC · Revision 1

Source evidence

grimmory-tools grimmory Download Endpoint KoboController.java streamFileToResponse authorization

core-osv · Original source

Published 19 Sept 2026, 22:15 UTC

A vulnerability was detected in grimmory-tools grimmory up to 3.3.3/3.4.1. Affected by this vulnerability is the function streamFileToResponse of the file backend/src/main/java/org/booklore/controller/KoboController.java of the component Download Endpoint. Performing a manipulation of the argument bookId results in authorization bypass. The attack may be initiated remotely. The exploit is now public and may be used. Issue #2431 is closed as completed, but its only comment states that the issue “has already been reported elsewhere.” No fixing commit or pull request is identified there.

osv:CVE-2026-93955
Complete source record
{
  "id": "93c69736a20a61460fcb779843c7d7257b870faf115545db0695f936dd9fb81f",
  "url": "https://osv.dev/vulnerability/CVE-2026-93955",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "grimmory-tools grimmory Download Endpoint KoboController.java streamFileToResponse authorization",
    "summary": "A vulnerability was detected in grimmory-tools grimmory up to 3.3.3/3.4.1. Affected by this vulnerability is the function streamFileToResponse of the file backend/src/main/java/org/booklore/controller/KoboController.java of the component Download Endpoint. Performing a manipulation of the argument bookId results in authorization bypass. The attack may be initiated remotely. The exploit is now public and may be used. Issue #2431 is closed as completed, but its only comment states that the issue “has already been reported elsewhere.” No fixing commit or pull request is identified there.",
    "evidence": "osv:CVE-2026-93955",
    "products": [],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-93955",
      "aliases": [
        "CVE-2026-93955"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/grimmory-tools/grimmory",
              "type": "GIT",
              "events": [
                {
                  "introduced": "1d707ffb0f3599b3dcbda44a62bd4b40c61c2fde"
                },
                {
                  "last_affected": "ba47aaad27503e88afc98819318e0771a79f8822"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "3.3.0"
                      },
                      {
                        "last_affected": "3.3.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.3.1"
                      },
                      {
                        "last_affected": "3.3.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.3.2"
                      },
                      {
                        "last_affected": "3.3.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.3.3"
                      },
                      {
                        "last_affected": "3.3.3"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.4.0"
                      },
                      {
                        "last_affected": "3.4.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  },
                  {
                    "range": [
                      {
                        "introduced": "3.4.1"
                      },
                      {
                        "last_affected": "3.4.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "3.3.3"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.3.0",
            "3.3.1",
            "3.3.2",
            "3.3.3",
            "3.4.0",
            "3.4.1",
            "v3.4.1",
            "v3.4.0",
            "v3.3.3",
            "v3.3.2",
            "v3.3.1",
            "v3.3.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93955.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.387462619Z",
      "provider": "osv",
      "references": [
        "https://github.com/grimmory-tools/grimmory/",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93955.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-93955",
        "https://vuldb.com/cve/CVE-2026-93955",
        "https://vuldb.com/submit/943921",
        "https://vuldb.com/vuln/407914",
        "https://github.com/grimmory-tools/grimmory/issues/2431",
        "https://github.com/grimmory-tools/grimmory/issues/2431#issuecomment-5384402858",
        "https://vuldb.com/vuln/407914/cti"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-285",
          "CWE-639"
        ],
        "cna_assigner": "VulDB",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93955.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-93955",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489654,
  "published_at": "2026-09-19T22:15:09.092+00:00"
}