Vulnerabilites related to Payload CMS - Payload
CVE-2025-4644 (GCVE-0-2025-4644)
Vulnerability from cvelistv5
Published
2025-08-29 10:01
Modified
2025-08-29 11:53
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-384 - Session Fixation
Summary
A Session Fixation vulnerability existed in Payload's SQLite adapter due to identifier reuse during account creation. A malicious attacker could create a new account, save its JSON Web Token (JWT), and then delete the account, which did not invalidate the JWT. As a result, the next newly created user would receive the same identifier, allowing the attacker to reuse the JWT to authenticate and perform actions as that user.
This issue has been fixed in version 3.44.0 of Payload.
References
▼ | URL | Tags |
---|---|---|
https://cert.pl/en/posts/2025/08/CVE-2025-4643 | third-party-advisory | |
https://payloadcms.com | product | |
https://github.com/payloadcms/payload | product |
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
Payload CMS | Payload |
Version: 0 ≤ |
{ "containers": { "adp": [ { "metrics": [ { "other": { "content": { "id": "CVE-2025-4644", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2025-08-29T11:53:19.070887Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-08-29T11:53:31.892Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Payload", "vendor": "Payload CMS", "versions": [ { "lessThan": "3.44.0", "status": "affected", "version": "0", "versionType": "semver" } ] } ], "credits": [ { "lang": "en", "type": "finder", "value": "Arkadiusz Marta" } ], "datePublic": "2025-08-29T10:00:00.000Z", "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "A Session Fixation vulnerability existed in Payload\u0027s SQLite adapter due to identifier reuse during account creation. A malicious attacker could create a new account, save its JSON Web Token (JWT), and then delete the account, which did not invalidate the JWT. As a result, the next newly created user would receive the same identifier, allowing the attacker to reuse the JWT to authenticate and perform actions as that user.\u003cbr\u003e\u003cbr\u003eThis issue has been fixed in version 3.44.0 of Payload.\u003cbr\u003e" } ], "value": "A Session Fixation vulnerability existed in Payload\u0027s SQLite adapter due to identifier reuse during account creation. A malicious attacker could create a new account, save its JSON Web Token (JWT), and then delete the account, which did not invalidate the JWT. As a result, the next newly created user would receive the same identifier, allowing the attacker to reuse the JWT to authenticate and perform actions as that user.\n\nThis issue has been fixed in version 3.44.0 of Payload." } ], "impacts": [ { "capecId": "CAPEC-61", "descriptions": [ { "lang": "en", "value": "CAPEC-61 Session Fixation" } ] } ], "metrics": [ { "cvssV4_0": { "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "Safety": "NOT_DEFINED", "attackComplexity": "LOW", "attackRequirements": "NONE", "attackVector": "NETWORK", "baseScore": 5.3, "baseSeverity": "MEDIUM", "privilegesRequired": "NONE", "providerUrgency": "NOT_DEFINED", "subAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "userInteraction": "PASSIVE", "valueDensity": "NOT_DEFINED", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N", "version": "4.0", "vulnAvailabilityImpact": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnerabilityResponseEffort": "NOT_DEFINED" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-384", "description": "CWE-384 Session Fixation", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-08-29T10:01:13.697Z", "orgId": "4bb8329e-dd38-46c1-aafb-9bf32bcb93c6", "shortName": "CERT-PL" }, "references": [ { "tags": [ "third-party-advisory" ], "url": "https://cert.pl/en/posts/2025/08/CVE-2025-4643" }, { "tags": [ "product" ], "url": "https://payloadcms.com" }, { "tags": [ "product" ], "url": "https://github.com/payloadcms/payload" } ], "source": { "discovery": "EXTERNAL" }, "tags": [ "x_open-source" ], "title": "User Session Fixation after Account Removal in PayloadCMS", "x_generator": { "engine": "Vulnogram 0.2.0" } } }, "cveMetadata": { "assignerOrgId": "4bb8329e-dd38-46c1-aafb-9bf32bcb93c6", "assignerShortName": "CERT-PL", "cveId": "CVE-2025-4644", "datePublished": "2025-08-29T10:01:13.697Z", "dateReserved": "2025-05-13T07:10:08.331Z", "dateUpdated": "2025-08-29T11:53:31.892Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
CVE-2025-4643 (GCVE-0-2025-4643)
Vulnerability from cvelistv5
Published
2025-08-29 10:01
Modified
2025-08-29 11:54
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-613 - Insufficient Session Expiration
Summary
Payload uses JSON Web Tokens (JWT) for authentication. After log out JWT is not invalidated, which allows an attacker who has stolen or intercepted token to freely reuse it until expiration date (which is by default set to 2 hours, but can be changed).
This issue has been fixed in version 3.44.0 of Payload.
References
▼ | URL | Tags |
---|---|---|
https://cert.pl/en/posts/2025/08/CVE-2025-4643 | third-party-advisory | |
https://payloadcms.com | product | |
https://github.com/payloadcms/payload | product |
Impacted products
Vendor | Product | Version | ||
---|---|---|---|---|
Payload CMS | Payload |
Version: 0 ≤ |
{ "containers": { "adp": [ { "metrics": [ { "other": { "content": { "id": "CVE-2025-4643", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2025-08-29T11:54:20.949942Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2025-08-29T11:54:27.895Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Payload", "vendor": "Payload CMS", "versions": [ { "lessThan": "3.44.0", "status": "affected", "version": "0", "versionType": "semver" } ] } ], "credits": [ { "lang": "en", "type": "finder", "value": "Arkadiusz Marta" } ], "datePublic": "2025-08-29T10:00:00.000Z", "descriptions": [ { "lang": "en", "supportingMedia": [ { "base64": false, "type": "text/html", "value": "Payload uses JSON Web Tokens (JWT) for authentication. After log out JWT is not invalidated, which allows an attacker who has stolen or intercepted token to freely reuse it until expiration date (which is by default set to 2 hours, but can be changed). \u003cbr\u003e\u003cbr\u003eThis issue has been fixed in version 3.44.0 of Payload.\u003cbr\u003e" } ], "value": "Payload uses JSON Web Tokens (JWT) for authentication. After log out JWT is not invalidated, which allows an attacker who has stolen or intercepted token to freely reuse it until expiration date (which is by default set to 2 hours, but can be changed). \n\nThis issue has been fixed in version 3.44.0 of Payload." } ], "impacts": [ { "capecId": "CAPEC-115", "descriptions": [ { "lang": "en", "value": "CAPEC-115 Authentication Bypass" } ] } ], "metrics": [ { "cvssV4_0": { "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "Safety": "NOT_DEFINED", "attackComplexity": "HIGH", "attackRequirements": "NONE", "attackVector": "NETWORK", "baseScore": 6.3, "baseSeverity": "MEDIUM", "privilegesRequired": "NONE", "providerUrgency": "NOT_DEFINED", "subAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "userInteraction": "NONE", "valueDensity": "NOT_DEFINED", "vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N", "version": "4.0", "vulnAvailabilityImpact": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "LOW", "vulnerabilityResponseEffort": "NOT_DEFINED" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-613", "description": "CWE-613 Insufficient Session Expiration", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2025-08-29T10:01:09.128Z", "orgId": "4bb8329e-dd38-46c1-aafb-9bf32bcb93c6", "shortName": "CERT-PL" }, "references": [ { "tags": [ "third-party-advisory" ], "url": "https://cert.pl/en/posts/2025/08/CVE-2025-4643" }, { "tags": [ "product" ], "url": "https://payloadcms.com" }, { "tags": [ "product" ], "url": "https://github.com/payloadcms/payload" } ], "source": { "discovery": "EXTERNAL" }, "tags": [ "x_open-source" ], "title": "Lack of JWT Expiration after Log Out in PayloadCMS", "x_generator": { "engine": "Vulnogram 0.2.0" } } }, "cveMetadata": { "assignerOrgId": "4bb8329e-dd38-46c1-aafb-9bf32bcb93c6", "assignerShortName": "CERT-PL", "cveId": "CVE-2025-4643", "datePublished": "2025-08-29T10:01:09.128Z", "dateReserved": "2025-05-13T07:10:07.627Z", "dateUpdated": "2025-08-29T11:54:27.895Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }