← Back to CVE Explorer

CVE-2026-73291

Full vulnerability record from the local CVENow database.

Description

Seerr is an open-source media request and discovery manager for Jellyfin, Plex, and Emby. Prior to version 3.4.0, Seerr's ImageProxy in server/lib/imageproxy.ts uses the upstream ETag and Content-Type response headers to build a cache filename for the unauthenticated GET /avatarproxy/:jellyfinUserId route, allowing a malicious or compromised Jellyfin or Emby server, or a man-in-the-middle attacker on a plaintext media-server connection, to supply traversal sequences that path.join and fs.writeFile normalize outside the cache directory, overwrite /app/dist/index.js or other files, and execute code as the node user after a container restart. This issue is fixed in version 3.4.0.

Severity
HIGH
CVSS score
7.1 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-08-12 15:18:33.020000
Last modified
2026-10-24 15:10:00.190000
View original CVE JSON
{
  "id": "CVE-2026-73291",
  "sourceIdentifier": "[email protected]",
  "published": "2026-08-12T15:18:33.020",
  "lastModified": "2026-10-24T15:10:00.190",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Seerr is an open-source media request and discovery manager for Jellyfin, Plex, and Emby. Prior to version 3.4.0, Seerr's ImageProxy in server/lib/imageproxy.ts uses the upstream ETag and Content-Type response headers to build a cache filename for the unauthenticated GET /avatarproxy/:jellyfinUserId route, allowing a malicious or compromised Jellyfin or Emby server, or a man-in-the-middle attacker on a plaintext media-server connection, to supply traversal sequences that path.join and fs.writeFile normalize outside the cache directory, overwrite /app/dist/index.js or other files, and execute code as the node user after a container restart. This issue is fixed in version 3.4.0."
    },
    {
      "lang": "es",
      "value": "Seerr es un gestor de solicitudes y descubrimiento de medios de código abierto para Jellyfin, Plex y Emby. Antes de la versión 3.4.0, el ImageProxy de Seerr en server/lib/imageproxy.ts utiliza los encabezados de respuesta ETag y Content-Type del servidor de origen para construir un nombre de archivo de caché para la ruta GET /avatarproxy/:jellyfinUserId no autenticada, permitiendo que un servidor Jellyfin o Emby malicioso o comprometido, o un atacante man-in-the-middle en una conexión de servidor de medios en texto plano, suministre secuencias de recorrido que path.join y fs.writeFile normalizan fuera del directorio de caché, sobrescriba /app/dist/index.js u otros archivos, y ejecute código como el usuario node después de un reinicio del contenedor. Este problema está solucionado en la versión 3.4.0."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "seerr-team",
          "product": "seerr",
          "versions": [
            {
              "version": "< 3.4.0",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:H",
          "baseScore": 7.1,
          "baseSeverity": "HIGH",
          "attackVector": "ADJACENT_NETWORK",
          "attackComplexity": "HIGH",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.6,
        "impactScore": 5.5
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-13T16:22:56.578886Z",
          "id": "CVE-2026-73291",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        },
        {
          "lang": "en",
          "value": "CWE-94"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/seerr-team/seerr/commit/f484791105bd81bd5404e01410431ee6fe5769c2",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/seerr-team/seerr/releases/tag/v3.4.0",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/seerr-team/seerr/security/advisories/GHSA-mc6w-69r3-62h8",
      "source": "[email protected]"
    }
  ]
}