Skip to content

← Public intelligence

npm package

@apostrophecms/form

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

2 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 5.3npmAmendedPublished

    ApostropheCMS: Unauthenticated unbounded multipart upload → disk-exhaustion DoS

    CVE-2026-113656 · GHSA-89mh-mm8c-mv7f

    Affected
    • npm @apostrophecms/form < 1.5.5
    Fixed in
    1.5.5· Vendor fix available
    Issue
    The form submission endpoint runs multer({ dest: os.tmpdir() }).any() before authentication, API-key, CSRF-equivalent, or form-existence logic, with no size/count/rate limits. Unauthenticated users can stream unbounded bodies to disk per request; cleanup occurs only after the full body is received. Details packages/form/index.js apiRoutes.post.submit (L274–296): [ multer({ dest: os.tmpdir() }).any(), self.normalizeFiles, async function (req) { try { submitForm } finally { unlink files } } ]. No limits, no rate limiting, no pre-validation. "CSRF" is a fixed-value double-submit cookie (vulnlab.csrf=csrf, set on any GET, express/index.js L694–703) — trivially obtainable anonymously. PoC Impact Any unauthenticated client can force the server to persist entire request bodies to the temp filesystem and CPU-decode them; parallel requests exhaust disk /tmp (process/host crash) and saturate the event loop — a trivial remote DoS. Aborted transfers risk orphaning staged files (no…

    Recommended action: Upgrade to 1.5.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.com (1)osv.dev (2)Source checked Evidence →
  2. Medium, CVSS 5.3npmAmendedPublished

    ApostropheCMS: CAPTCHA response token not URL-encoded

    CVE-2026-113667 · GHSA-44qr-rrjg-2cqq

    Affected
    • npm @apostrophecms/form < 1.5.5
    Fixed in
    1.5.5· Vendor fix available
    Issue
    Form and login CAPTCHA verification interpolate the user-supplied widget token unencoded into the server-side verification URL/body, allowing a crafted token to inject query parameters into the reCAPTCHA/hCaptcha verify request. Details - packages/form/lib/recaptcha.js:39 — recaptchaUri = 'https://www.google.com/recaptcha/api/siteverify?secret=${recaptchaSecret}&response=${input.recaptcha}' - packages/login-recaptcha/index.js:44 — same pattern for login - packages/login-hcaptcha/index.js:47 — body: 'response=${token}&secret=${secret}' PoC Impact Low: a crafted token smuggles extra key=value pairs (secret, extra response) into the outbound verify call, forcing verification failures (DoS of the captcha gate and of captcha-gated login/form flows) and enabling automated bypass probing; no secret exfiltration. Remediation — Build the verify request with URL + searchParams (or encodeURIComponent on both secret and response), and validate the token against ^[A-Za-z0-9.-]{1,2048}$…

    Recommended action: Upgrade to 1.5.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.com (1)osv.dev (2)Source checked Evidence →