Changeset 718eaeb in Klonkt


Ignore:
Timestamp:
08/07/2026 03:50:43 PM (5 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
1ff801d
Parents:
2956e4d
Message:

nodemailer 6 -> 9: acht adviezen weg, waaronder SMTP-injectie

De enige die npm niet binnen semver kon repareren en die wel gevaarlijk was.
Drie majors, dus met de hand en niet met --force -- die had uuid meegesleept
en dat blijft bewust staan (shaer-45y).

Wat het afsluit: SMTP-commando-injectie via envelope.size en via CRLF in de
transport-naam, bezorging op een onbedoeld domein door een interpretatie-
conflict, CRLF-injectie in List-*-headers, jsonTransport dat disableFileAccess
en disableUrlAccess omzeilt, de raw-optie die willekeurig bestandslezen en SSRF
toeliet, gebrekkige TLS-certificaatvalidatie bij het ophalen van een OAuth2-
token, en DoS in addressparser.

Het raakvlak is een bestand: src/config/mailer.js roept createTransport aan met
host/port/secure/auth en sendMail met from/to/subject/text/html. Geen enkele
test komt daar langs, dus de suite zou een breuk hier niet zien. Apart
gerookt tegen nodemailer 9: de default-import werkt nog (v9 is nog steeds CJS,
geen exports-map), de transport bouwt, en sendMail levert via jsonTransport een
bericht met text, html en het geadresseerde to-veld. Engines eist >=6.0.0, de
server draait 20.20.2.

576 tests groen. Resteert: uuid, moderate, v4 zonder buf wordt niet geraakt.

Co-Authored-By: Claude Opus 5 <noreply@…>

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • package-lock.json

    r2956e4d r718eaeb  
    2828        "multer": "^1.4.5-lts.1",
    2929        "node-webpmux": "^3.2.1",
    30         "nodemailer": "^6.9.15",
     30        "nodemailer": "^9.0.5",
    3131        "qrcode": "^1.5.4",
    3232        "sanitize-html": "^2.17.3",
     
    20102010    },
    20112011    "node_modules/nodemailer": {
    2012       "version": "6.10.1",
    2013       "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.10.1.tgz",
    2014       "integrity": "sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==",
     2012      "version": "9.0.5",
     2013      "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-9.0.5.tgz",
     2014      "integrity": "sha512-wvjiKvjczmsN7U/8006JOdXubgBk2XFAbioDMbT+sM7cPs0QrhJTa6KBRX7P5REGGkDcLUz/EarWidb8G8C1jQ==",
    20152015      "license": "MIT-0",
    20162016      "engines": {
  • package.json

    r2956e4d r718eaeb  
    3333    "multer": "^1.4.5-lts.1",
    3434    "node-webpmux": "^3.2.1",
    35     "nodemailer": "^6.9.15",
     35    "nodemailer": "^9.0.5",
    3636    "qrcode": "^1.5.4",
    3737    "sanitize-html": "^2.17.3",
Note: See TracChangeset for help on using the changeset viewer.