Skip to content

Content spoofing - real Novu emails

Low
scopsy published GHSA-mv6w-52pf-9qhf Sep 6, 2023

Package

novu (Web)

Affected versions

<0.10.0

Patched versions

0.10.0

Description

Summary

Due to lack of validation for fields like Full Name and Organization name, bad actors can send emails with spoofed content as Novu (because in fact these emails are real Novu emails) at this moment.
Please notice that there are allowed different characters like (_) spaces etc, that allows to create all sentences by bad actors.

Details

Parts from the code:
https://github.com/novuhq/novu/blob/next/apps/web/src/pages/invites/MembersInvitePage.tsx#L212
image

Proposed remediation: please don't allow to malicious actions like this - proper validation for these fields (Sanitize/purify input data from users).

PoC

POC - payload examples:
Field FullName: Novu-so_just_Later
Field OrgName: get SWAG visit www.evilsite.com

Repro steps:

  1. Go to https://web.novu.co/auth/signup and during registration set Full Name with payload (above provided)
  2. As second step, for Organization Name set other payload (above provided)
  3. Go to https://web.novu.co/team as logged in user, type victims email addresses and click Invite button
  4. Open email - see valid payloads, email from real Novu <[email protected]> with spoofed content

(Please use your second email address for POC steps for convenient).

Result:
"You have been invited to Get SWAG visit www.evilsite.com by Novu. Click on the button below to accept."
Screenshot - result:
image

Impact

Spoofed email content - user see real Novu email, so is more exposed to malicious actions (like visit site xyz, download from xzy). Other scenario can be associated with disinformation (lost of trust and reputation) - using there bad words (vulgar), weird content etc.

Additional informations:
Content Spoofing - https://owasp.org/www-community/attacks/Content_Spoofing
CAPEC-148: Content Spoofing - https://capec.mitre.org/data/definitions/148.html
CWE-20: Improper Input Validation - https://cwe.mitre.org/data/definitions/20.html

Best regards,

Severity

Low
3.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
Required
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L

CVE ID

No known CVE

Weaknesses

Credits