CVE-2025-54082: Marshmallow/nova tiptap Nova-tiptap Has Unauthenticated Arbitrary File Vulnerability

CRITICAL
Advisory Identifier: GHSA-96c2-h667-9fxp
CWE-434
Published
Advisory Summary

CVE-2025-54082 is a CRITICAL nova-tiptap has unauthenticated arbitrary file vulnerability (CWE-434: Unrestricted Upload of File with Dangerous Type) affecting Marshmallow/nova tiptap libraries in the Packagist ecosystem. The issue involves nova-tiptap has unauthenticated arbitrary file upload vulnerability. Remediation is available by upgrading affected packages to version 5.7.0.

CVE-2025-54082 at a Glance

CVE Identifier CVE-2025-54082
GHSA Identifier GHSA-96c2-h667-9fxp
Severity CRITICAL
CVSS v3.1 Base Score N/A
CWE Classification CWE-434: Unrestricted Upload of File with Dangerous Type
Affected Product Marshmallow/nova tiptap
Package Ecosystem Packagist
Published Date
Last Updated

How to Fix CVE-2025-54082

To remediate this vulnerability, upgrade all affected Marshmallow/nova tiptap dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

marshmallow/nova-tiptap fixed: 5.7.0
Upgrade marshmallow/nova-tiptap to 5.7.0
manogi/nova-tiptap fixed: Latest secure release
Upgrade manogi/nova-tiptap to Latest secure release
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for marshmallow/nova-tiptap

How to Check if You Are Affected

To determine whether your application is affected by CVE-2025-54082, inspect your project dependencies for Marshmallow/nova tiptap:

inspect dependencies for marshmallow/nova-tiptap

Analyze the terminal output to locate any version of Marshmallow/nova tiptap in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 5.7.0), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-434: Unrestricted Upload of File with Dangerous Type, where the product allows the upload or transfer of dangerous file types that are automatically processed within its environment. In Marshmallow/nova tiptap, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

A vulnerability was discovered in the marshmallow-packages/nova-tiptap Laravel Nova package that allows unauthenticated users to upload arbitrary files to any Laravel disk configured in the application. The vulnerability is due to: • Missing authentication middleware (Nova and Nova.Auth) on the /nova-tiptap/api/file upload endpoint • Lack of validation on uploaded files (no MIME/type or extension restrictions) • Ability for an attacker to choose the disk parameter dynamically This means an attacker can craft a custom form and send a POST request to /nova-tiptap/api/file, supplying a valid CSRF token, and upload executable or malicious files (e.g., .php, binaries) to public disks such as local, public, or s3. If a publicly accessible storage path is used (e.g. S3 with public access, or Laravel’s public disk), the attacker may gain the ability to execute or distribute arbitrary files — amounting to a potential Remote Code Execution (RCE) vector in some environments.

CVE-2025-54082 Affected Marshmallow/nova tiptap Versions

2 component(s)
Fixed Versions:
5.7.0
Product / Package Ecosystem Affected Versions Fixed Version
marshmallow/nova-tiptap
Packagist
< 5.7.0
5.7.0
manogi/nova-tiptap
Packagist
≤ 3.2.6

References

Frequently Asked Questions

What is CVE-2025-54082?
CVE-2025-54082 is a security vulnerability in Marshmallow/nova tiptap involving nova-tiptap has Unauthenticated Arbitrary File Upload Vulnerability under CWE-434: Unrestricted Upload of File with Dangerous Type.
Which Marshmallow/nova tiptap versions are affected?
Affected versions include releases prior to 5.7.0 across affected packages: marshmallow/nova-tiptap, manogi/nova-tiptap.
What version fixes CVE-2025-54082?
Upgrading to 5.7.0 (or the latest patched release for your respective branch) resolves the vulnerability.
Is marshmallow/nova-tiptap affected?
Yes, marshmallow/nova-tiptap is affected in releases prior to 5.7.0. Upgrade your dependency to 5.7.0 or later.
Is manogi/nova-tiptap affected?
Yes, manogi/nova-tiptap is affected in releases prior to Latest secure release. Upgrade your dependency to Latest secure release or later.
What CWE is associated with CVE-2025-54082?
CVE-2025-54082 is classified under CWE-434: Unrestricted Upload of File with Dangerous Type (The product allows the upload or transfer of dangerous file types that are automatically processed within its environment.).
How can I check Packagist dependencies for CVE-2025-54082?
Run the dependency tree command: 'inspect dependencies for marshmallow/nova-tiptap'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-96c2-h667-9fxp",
  "modified" : "2025-07-22T15:34:51Z",
  "published" : "2025-07-21T19:09:21Z",
  "aliases" : [ "CVE-2025-54082" ],
  "summary" : "nova-tiptap has Unauthenticated Arbitrary File Upload Vulnerability",
  "details" : "A vulnerability was discovered in the marshmallow-packages/nova-tiptap Laravel Nova package that allows unauthenticated users to upload arbitrary files to any Laravel disk configured in the application.\n\nThe vulnerability is due to:\n\t•\tMissing authentication middleware (Nova and Nova.Auth) on the /nova-tiptap/api/file upload endpoint\n\t•\tLack of validation on uploaded files (no MIME/type or extension restrictions)\n\t•\tAbility for an attacker to choose the disk parameter dynamically\n\nThis means an attacker can craft a custom form and send a POST request to /nova-tiptap/api/file, supplying a valid CSRF token, and upload executable or malicious files (e.g., .php, binaries) to public disks such as local, public, or s3. If a publicly accessible storage path is used (e.g. S3 with public access, or Laravel’s public disk), the attacker may gain the ability to execute or distribute arbitrary files — amounting to a potential Remote Code Execution (RCE) vector in some environments.",
  "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"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Packagist",
      "name" : "marshmallow/nova-tiptap"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "5.7.0"
      } ]
    } ]
  }, {
    "package" : {
      "ecosystem" : "Packagist",
      "name" : "manogi/nova-tiptap"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "last_affected" : "3.2.6"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/marshmallow-packages/nova-tiptap/security/advisories/GHSA-96c2-h667-9fxp"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-54082"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/marshmallow-packages/nova-tiptap/commit/fed42d2f8ebb9e3c74f1ee262c9db33567030756"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/marshmallow-packages/nova-tiptap"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-434" ],
    "severity" : "CRITICAL",
    "github_reviewed" : true,
    "github_reviewed_at" : "2025-07-21T19:09:21Z",
    "nvd_published_at" : "2025-07-21T17:15:37Z"
  }
}