---
title: "Security digest: March 31, 2026"
url: https://erroneo.us/security/2026-03-31/
description: "March 31, 2026 vulnerability digest: 1 brief (axios npm compromise); 14 critical advisories (PyPI, npm, Composer (PHP), Go). What to patch and who can relax."
type: security-digest-day
section: "Security Digest"
date_published: 2026-03-31
date_modified: 2026-10-21
publisher: erroneo.us
author: erroneo.us Security Desk
license: All rights reserved. Quote with attribution and a link.
---

# Security digest: March 31, 2026

1 editorial brief and 14 critical advisories.

## Take stock

- Check exposure: axios npm compromise . Anyone whose lockfile, CI log or npx cache shows axios 1.14.1, axios 0.30.4 or plain-crypto-js, especially builds or installs run between 00:21 and 03:15 UTC on March 31, 2026.
- Composer (PHP): 5 critical advisories ( ci4-cms-erp/ci4ms , baserproject/basercms ). Check with composer audit .
- PyPI: 4 critical advisories ( fastmcp , mlflow , scitokens , openssl-encrypt ). Check with pip-audit (or: pip show <package>) .
- npm: 3 critical advisories ( parse-server , openclaw ). Check with npm audit (or: npm ls <package>) .
- Go: 2 critical advisories ( github.com/siyuan-note/siyuan/kernel ). Check with govulncheck ./... .
- None of it touches your stack? Then there is nothing to do today. That is a result, not a failure to read carefully.

## Editorial briefs

- **Check exposure** [axios 1.14.1 and 0.30.4: npm Hijack Drops North Korean RAT](https://erroneo.us/security/briefs/axios-npm-compromise-plain-crypto-js-rat/index.md): axios is everywhere, but the bad versions lived only about three hours on March 31, 2026; if nothing resolved a fresh axios in that window you are fine, and if something did, that machine ran a remote-access trojan.

## Known exploited (CISA KEV)

None.

## Critical advisories

- [CVE-2026-32871](https://erroneo.us/security/cve/CVE-2026-32871/index.md) FastMCP OpenAPI Provider has an SSRF & Path Traversal Vulnerability — PyPI fastmcp < 3.2.0 → 3.2.0
- [CVE-2026-34532](https://erroneo.us/security/cve/CVE-2026-34532/index.md) parse-server has cloud function validator bypass via prototype chain traversal — npm parse-server >= 9.0.0, < 9.7.0-alpha.11 → 9.7.0-alpha.11; npm parse-server < 8.6.67 → 8.6.67
- [CVE-2026-34558](https://erroneo.us/security/cve/CVE-2026-34558/index.md) CI4MS: Methods Management Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS — Composer (PHP) ci4-cms-erp/ci4ms <= 0.28.6.0 → 0.31.0.0
- [CVE-2026-34448](https://erroneo.us/security/cve/CVE-2026-34448/index.md) SiYuan: Stored XSS in Attribute View Gallery/Kanban Cover Rendering Allows Arbitrary Command Execution in Desktop Client — Go github.com/siyuan-note/siyuan/kernel <= 3.6.1 → 3.6.2
- [CVE-2026-0596](https://erroneo.us/security/cve/CVE-2026-0596/index.md) Mlflow: Command Injection when serving models with enable_mlserver=True — PyPI mlflow < 3.9.0 → 3.9.0
- [CVE-2026-34557](https://erroneo.us/security/cve/CVE-2026-34557/index.md) CI4MS: Permissions Management Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS — Composer (PHP) ci4-cms-erp/ci4ms <= 0.28.6.0 → 0.31.0.0
- [CVE-2026-32714](https://erroneo.us/security/cve/CVE-2026-32714/index.md) SciTokens is vulnerable to SQL Injection in KeyCache — PyPI scitokens < 1.9.6 → 1.9.6
- [CVE-2026-21861](https://erroneo.us/security/cve/CVE-2026-21861/index.md) baserCMS has OS Command Injection Leading to Remote Code Execution (RCE) — Composer (PHP) baserproject/basercms <= 5.2.2 → 5.2.3
- [CVE-2026-30877](https://erroneo.us/security/cve/CVE-2026-30877/index.md) baserCMS Update Functionality Vulnerable to OS Command Injection — Composer (PHP) baserproject/basercms <= 5.2.2 → 5.2.3
- [CVE-2026-33579](https://erroneo.us/security/cve/CVE-2026-33579/index.md) OpenClaw: /pair approve command path omitted caller scope subsetting and reopened device pairing escalation — npm openclaw <= 2026.3.24 → 2026.3.28
- [GHSA-h45m-mgcp-q388](https://erroneo.us/security/ghsa/GHSA-h45m-mgcp-q388/index.md) openssl-encrypt: TOTP rate limiter is in-memory only — not shared across workers, lost on restart — PyPI openssl-encrypt < 1.4.0 → 1.4.0
- [CVE-2026-41294](https://erroneo.us/security/cve/CVE-2026-41294/index.md) OpenClaw has a CWD `.env` environment variable injection which bypasses host-env policy and allows config takeover — npm openclaw <= 2026.3.24 → 2026.3.28
- [CVE-2026-30880](https://erroneo.us/security/cve/CVE-2026-30880/index.md) baserCMS has OS command injection vulnerability in installer — Composer (PHP) baserproject/basercms <= 5.2.2 → 5.2.3
- [CVE-2026-34449](https://erroneo.us/security/cve/CVE-2026-34449/index.md) SiYuan is Vulnerable to Cross-Origin RCE via Permissive CORS Policy and JavaScript Snippet Injection — Go github.com/siyuan-note/siyuan/kernel <= 3.6.1 → 3.6.2

---
Source page: https://erroneo.us/security/2026-03-31/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
