TinydtlsApplication · Contiki Ng

CVE-2021-42143

CRITICAL · 9.1 CVSS v3.1 Published 2024-01-24
Fix available
A fix is available. Upgrade to after 2018-08-30 or later.
See remediation →
100/100
Remediation priority · Urgent
Remotely reachable No privileges Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
An issue was discovered in Contiki-NG tinyDTLS through master branch 53a0d97. An infinite loop bug exists during the handling of a ClientHello handshake message. This bug allows remote attackers to cause a denial of service by sending a malformed ClientHello handshake message with an odd length of cipher suites, which triggers an infinite loop (consuming all resources) and a buffer over-read that can disclose sensitive information.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

Contiki-NG's tinyDTLS library contains an infinite loop vulnerability in the ClientHello handshake message parser. When processing a malformed ClientHello with an odd number of cipher suites, the parsing loop never terminates, consuming all CPU resources. Additionally, a buffer over-read occurs during this process, potentially exposing sensitive memory contents to remote attackers.

MitigationUpdate tinyDTLS to include proper bounds validation on the cipher suite list length before entering the parsing loop. Implement length checking to ensure the cipher suite count matches the declared length and add boundary checks to prevent out-of-bounds reads.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.

NVD · CPE data
TinydtlsApplication
Affected:<= 2018-08-30

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify tinyDTLS library presence
    Search project files for tinyDTLS source code or check build artifacts for references to tinyDTLS (look for 'tinydtls' in source directories, makefiles, or linker outputs)
    Affected if tinyDTLS library is included in the firmware or application build
  2. Determine tinyDTLS version or build date
    Check the tinyDTLS source code version tags, commit history, or check the library binary/library file modification date. Compare against the 2018-08-30 threshold
    Affected if tinyDTLS version or build date is on or before August 30, 2018
  3. Verify DTLS protocol is enabled
    Check project configuration files (e.g., Makefile, proj.conf, or similar) for DTLS-related compilation flags such as DTLS_ENABLED, WITH_DTLS, or presence of 'dtls' in configuration
    Affected if DTLS support is compiled into the firmware or application
  4. Confirm network exposure to DTLS traffic
    Inspect network configuration to determine if the device acts as a DTLS server or client that processes incoming ClientHello messages from network endpoints
    Affected if The device accepts DTLS connections from network sources that could send a malformed ClientHello

You are affected if your build includes tinyDTLS with version or build date on or before 2018-08-30 and DTLS protocol support is enabled, exposing the device to network-based exploitation of the infinite loop and buffer over-read.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

From vendor data
Upgrade available Upgrade to a release after 2018-08-30
Interim mitigation

Update tinyDTLS to include proper bounds validation on the cipher suite list length before entering the parsing loop. Implement length checking to ensure the cipher suite count matches the declared length and add boundary checks to prevent out-of-bounds reads.

Fix this in Tinydtls Scoped from the published advisory
  • Consultation4.0 h
  • Implementation4.0 h
  • Testing8.0 h
  • Review / QA2.0 h
18.0 hours of engineering $3,080
Get the upgrade done

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,928.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2021-42143 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2021-42143 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data