☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 8.7 🐛 CWE-789
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2021-47972

CVE-2021-47972 Denial of Service in Sticky
📅 PUBLISHED: 2026-05-16 16:16 UTC 🔄 UPDATED: 2026-09-23 20:13 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.28%
👁️
0.28% probability
7.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2021-47972 is a denial of service (DoS) vulnerability in Sticky Notes & Color Widgets version 1.4.2. The application fails to properly limit the length of note content, allowing an attacker to paste excessively long strings of repeated characters into note fields. This causes the application to crash and become unresponsive, effectively denying service to legitimate users. The vulnerability has a CVSS score of 7.5 (High) and is classified under CWE-770 (Allocation of Resources Without Limits or Throttling). No official patch has been released, and the vendor status remains unknown.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a standalone Android application (Sticky Notes & Color Widgets) distributed via the Google Play Store. There is no associated NPM, PyPI, Go, or Ruby package. The risk is limited to end-users who install the application from the official store or third-party APK sources. No supply chain compromise has been identified.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • Base Score: 7.5 (High)
  • Attack Vector: Network (AV:N) – The attack can be launched remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – The attacker does not need user interaction beyond the victim using the app.
  • Scope: Unchanged (S:U) – The vulnerable component and the impacted component are the same.
  • Confidentiality Impact: None (C:N) – No data exposure.
  • Integrity Impact: None (I:N) – No data modification.
  • Availability Impact: High (A:H) – Application becomes completely unresponsive.

Threat Level: High. The vulnerability is trivial to exploit and requires no special privileges. An attacker can cause persistent denial of service by creating notes with extremely long strings, crashing the application on launch or during use.

Deep Dive & Mechanics

The vulnerability resides in the note creation and rendering logic of Sticky Notes & Color Widgets version 1.4.2. The application does not enforce a maximum character limit on note content. When a user (or attacker) creates a note with an excessively long string (e.g., thousands of repeated characters), the application attempts to allocate memory and render the note. This leads to:

  1. Memory Exhaustion: The application consumes excessive memory trying to store and display the long string.
  2. UI Thread Blocking: The rendering process blocks the main UI thread, causing the application to become unresponsive.
  3. Crash: The Android system eventually kills the application due to an Application Not Responding (ANR) error or out-of-memory condition.

The attack can be performed by:

  • Pasting a large payload into a new note field.
  • Using automation (e.g., ADB commands) to inject the payload.
  • Sharing a malicious note via cloud sync or backup restore.

Once the note is created, the application will crash every time it attempts to load or display that note, making the app unusable until the note is deleted (if possible via external means).

Vulnerable vs. Patched Code

Vulnerable Code (1.4.2): The application likely uses an EditText or similar input field without a maxLength attribute or programmatic length check. The note storage and retrieval do not validate string length.

// Vulnerable: No length check
EditText noteContent = findViewById(R.id.note_content);
String content = noteContent.getText().toString();
// Directly saved to database
database.saveNote(content);

Patched Code (Hypothetical): A patched version would enforce a maximum character limit (e.g., 10,000 characters) and truncate or reject overly long inputs.

// Patched: Enforce max length
EditText noteContent = findViewById(R.id.note_content);
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(10000);
noteContent.setFilters(filters);
String content = noteContent.getText().toString();
if (content.length() > 10000) {
    // Reject or truncate
    content = content.substring(0, 10000);
}
database.saveNote(content);

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Android device or emulator with Sticky Notes & Color Widgets 1.4.2 installed.
  • ADB (Android Debug Bridge) access (optional, for automation).

Exploit Steps:

  1. Manual Exploit:

    • Open the Sticky Notes app.
    • Create a new note.
    • Paste a payload of 50,000+ repeated characters (e.g., 'A' * 50000) into the note field.
    • Save the note.
    • The app will crash immediately or upon next launch.
  2. Automated Exploit (via ADB):

    # Generate payload
    python -c "print('A' * 100000)" > payload.txt
    # Use ADB to inject into the app (requires root or debugging enabled)
    adb shell am start -n com.example.stickynotes/.MainActivity
    adb shell input text "$(cat payload.txt)"
    

Expected Outcome: The application becomes unresponsive and crashes. Subsequent launches will also crash if the malicious note is loaded automatically.

Blue Team

Detection & Mitigation:

  • Monitor for ANR (Application Not Responding) events in Android logs.
  • Use app-level input validation to limit note length.
  • Implement crash reporting to detect repeated crashes from the same user.
  • Consider sandboxing or isolating note data to prevent memory exhaustion.

Lab Setup for Testing:

  • Use Android Studio Emulator with API level 29+.
  • Install the vulnerable APK.
  • Use adb logcat to monitor crashes:
    adb logcat | grep -i "sticky\|crash\|ANR"
    

Indicators of Compromise (IOCs)

  • Application: Sticky Notes & Color Widgets version 1.4.2
  • Package Name: (e.g., com.sticky.notes.colorwidgets)
  • Payload Pattern: Extremely long strings of repeated characters (e.g., 50,000+ 'A's)
  • Log Artifacts:
    • ANR in com.sticky.notes.colorwidgets
    • OutOfMemoryError or java.lang.OutOfMemoryError
    • Input dispatching timed out in logcat
  • Network IOCs: None (attack is local to the device)
  • File IOCs: Database entries with abnormally large text fields (e.g., SQLite blob size > 100KB)

Detection Engineering

YARA Rule

rule CVE_2021_47972_StickyNotes_DoS {
    meta:
        description = "Detects excessively long strings in Sticky Notes & Color Widgets database"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2021-47972"
    strings:
        $long_string = /[A-Za-z0-9]{50000,}/  // Matches strings of 50,000+ characters
    condition:
        $long_string
}

Sigma Rule

title: CVE-2021-47972 - Sticky Notes DoS via Long String
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects ANR or crash events related to Sticky Notes & Color Widgets with long input strings
author: Valters IT
date: 2025-04-10
logsource:
    product: android
    service: logcat
detection:
    selection:
        - "ANR in com.sticky.notes.colorwidgets"
        - "OutOfMemoryError"
        - "Input dispatching timed out"
    condition: selection
falsepositives:
    - Legitimate large notes (unlikely)
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2021-47972 - Sticky Notes DoS Attempt"; flow:to_server; content:"|41 41 41 41 41 41 41 41 41 41|"; threshold: type both, track by_src, count 1, seconds 60; classtype:attempted-dos; sid:1000001; rev:1;)

Note: The Suricata rule above is a placeholder for network-based detection. Since the attack is local, network detection is not directly applicable. The rule can be adapted for detecting large payloads in HTTP POST requests if the app syncs notes to a cloud service.

Remediation & Mitigation

Immediate Actions:

  1. Uninstall the vulnerable version (1.4.2) and check for updates from the Google Play Store.
  2. If no update is available, consider using an alternative sticky notes application.
  3. For enterprise-managed devices, block installation of the vulnerable app via MDM policies.

Long-Term Fixes (for developers):

  • Implement a maximum character limit (e.g., 10,000 characters) on note content.
  • Add input validation and sanitization for all user-supplied data.
  • Use InputFilter.LengthFilter in Android EditText fields.
  • Implement crash recovery mechanisms (e.g., skip loading corrupted notes).
  • Perform memory and performance testing with large inputs.

Workarounds:

  • If the app is already crashing, try clearing app data via Settings > Apps > Sticky Notes > Storage > Clear Data. This will delete all notes but restore app functionality.
  • Use ADB to delete the malicious note from the database (requires root):
    adb shell
    sqlite3 /data/data/com.sticky.notes.colorwidgets/databases/notes.db "DELETE FROM notes WHERE length(content) > 10000;"
    

Valters IT
DevSecOps & Cyber Threat Intelligence Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2021-47972/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.