CWE-499
Serializable Class Containing Sensitive Data
The code contains a class with sensitive data, but the class does not explicitly deny serialization. The data can be accessed by serializing the class through another class.
CVE-2024-5657 (GCVE-0-2024-5657)
Vulnerability from cvelistv5
Published
2024-06-06 10:29
Modified
2025-09-03 07:13
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-499 - Serializable Class Containing Sensitive Data
Summary
The CraftCMS plugin Two-Factor Authentication in versions 3.3.1, 3.3.2 and 3.3.3 discloses the password hash of the currently authenticated user after submitting a valid TOTP.
References
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
Born05 | CraftCMS Plugin - Two-Factor Authentication |
Version: 3.3.1 < |
{ "containers": { "adp": [ { "metrics": [ { "other": { "content": { "id": "CVE-2024-5657", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2024-06-06T15:45:33.517016Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2024-06-06T15:45:58.497Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" }, { "providerMetadata": { "dateUpdated": "2024-08-01T21:18:06.699Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "third-party-advisory", "x_transferred" ], "url": "https://github.com/sbaresearch/advisories/tree/public/2024/SBA-ADV-20240202-01_CraftCMS_Plugin_Two-Factor_Authentication_Password_Hash_Disclosure" }, { "tags": [ "product", "x_transferred" ], "url": "https://plugins.craftcms.com/two-factor-authentication?craft4" }, { "tags": [ "release-notes", "x_transferred" ], "url": "https://github.com/born05/craft-twofactorauthentication/releases/tag/3.3.4" }, { "tags": [ "x_transferred" ], "url": "http://www.openwall.com/lists/oss-security/2024/06/06/1" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "CraftCMS Plugin - Two-Factor Authentication", "repo": "https://github.com/born05/craft-twofactorauthentication", "vendor": "Born05", "versions": [ { "lessThanOrEqual": "3.3.3", "status": "affected", "version": "3.3.1", "versionType": "custom" } ] } ], "credits": [ { "lang": "en", "type": "finder", "value": "Fabian Funder (SBA Research)" }, { "lang": "en", "type": "finder", "value": "Jakob Pachmann (SBA Research)" } ], "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "\u003cdiv\u003e\u003cdiv\u003eThe CraftCMS plugin Two-Factor Authentication in versions 3.3.1, 3.3.2 and 3.3.3 discloses the password hash of the currently authenticated user after submitting a valid TOTP.\u003c/div\u003e\u003c/div\u003e" } ], "value": "The CraftCMS plugin Two-Factor Authentication in versions 3.3.1, 3.3.2 and 3.3.3 discloses the password hash of the currently authenticated user after submitting a valid TOTP." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "HIGH", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 3.7, "baseSeverity": "LOW", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N", "version": "3.1" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-499", "description": "CWE-499 Serializable Class Containing Sensitive Data", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-09-03T07:13:32.028Z", "orgId": "1e3a9e0f-5156-4bf8-b8a3-cc311bfc0f4a", "shortName": "sba-research" }, "references": [ { "tags": [ "third-party-advisory" ], "url": "https://github.com/sbaresearch/advisories/tree/public/2024/SBA-ADV-20240202-01_CraftCMS_Plugin_Two-Factor_Authentication_Password_Hash_Disclosure" }, { "tags": [ "product" ], "url": "https://plugins.craftcms.com/two-factor-authentication?craft4" }, { "tags": [ "release-notes" ], "url": "https://github.com/born05/craft-twofactorauthentication/releases/tag/3.3.4" }, { "url": "http://www.openwall.com/lists/oss-security/2024/06/06/1" } ], "solutions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "Update to version 3.3.4 or later." } ], "value": "Update to version 3.3.4 or later." } ], "source": { "discovery": "UNKNOWN" }, "title": "CraftCMS Plugin - Two-Factor Authentication - Password Hash Disclosure", "x_generator": { "engine": "Vulnogram 0.2.0" } } }, "cveMetadata": { "assignerOrgId": "1e3a9e0f-5156-4bf8-b8a3-cc311bfc0f4a", "assignerShortName": "sba-research", "cveId": "CVE-2024-5657", "datePublished": "2024-06-06T10:29:40.393Z", "dateReserved": "2024-06-05T16:36:00.302Z", "dateUpdated": "2025-09-03T07:13:32.028Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
Mitigation
Phase: Implementation
Description:
- In Java, explicitly define final writeObject() to prevent serialization. This is the recommended solution. Define the writeObject() function to throw an exception explicitly denying serialization.
Mitigation
Phase: Implementation
Description:
- Make sure to prevent serialization of your objects.
No CAPEC attack patterns related to this CWE.