{"id":17106,"date":"2026-05-11T10:00:00","date_gmt":"2026-05-11T16:00:00","guid":{"rendered":"https:\/\/www.supportpro.com\/blog\/?p=17106"},"modified":"2026-05-10T21:39:46","modified_gmt":"2026-05-11T03:39:46","slug":"vulnerability-of-cpanel-whm-wp2-security-cve-2026-41940","status":"publish","type":"post","link":"https:\/\/www.supportpro.com\/blog\/vulnerability-of-cpanel-whm-wp2-security-cve-2026-41940\/","title":{"rendered":"Vulnerability of cPanel &amp; WHM \/ WP2 (Security: CVE-2026-41940)"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Overview of the Vulnerability<\/h3>\n\n\n\n<p>This vulnerability in <strong>cPanel &amp; WHM<\/strong> is an <strong>authentication bypass flaw<\/strong> that can allow an attacker to gain full administrative access without requiring a valid username or password.<\/p>\n\n\n\n<p>Under normal conditions, cPanel authentication follows a secure login flow. However, this vulnerability disrupts that process by allowing manipulated session data to be trusted by the system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How cPanel Login Normally Works<\/h2>\n\n\n\n<p>When a user logs into cPanel\/WHM, the following process takes place:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>User accesses the WHM\/cPanel login page<\/li>\n\n\n\n<li>Username and password are entered<\/li>\n\n\n\n<li>cPanel verifies the credentials<\/li>\n\n\n\n<li>A session file (temporary login ticket) is created<\/li>\n\n\n\n<li>The session is stored on the server<\/li>\n\n\n\n<li>All subsequent requests use this session for authentication<\/li>\n<\/ol>\n\n\n\n<p>This ensures that only authenticated users can access administrative features.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Goes Wrong in This Vulnerability<\/h2>\n\n\n\n<p>Due to the bug, an attacker is able to <strong>manipulate the session file during the login process<\/strong>.<\/p>\n\n\n\n<p>Instead of waiting for proper authentication, cPanel may incorrectly trust session data that has been altered before verification is completed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How the Attack Works<\/h2>\n\n\n\n<p>An attacker can send a specially crafted request containing <strong>modified or fake session parameters<\/strong>.<\/p>\n\n\n\n<p>By inspecting login requests using browser developer tools (Network tab), the attacker can alter outgoing requests before they reach the server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Example Scenario<\/h3>\n\n\n\n<p><strong>Normal Request:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>user=admin<br>pass=wrongpassword<\/code><\/pre>\n\n\n\n<p><strong>Modified Malicious Request:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>user=admin<br>pass=wrongpassword<br>cp_security_token=\/cpsess99999999<br>successful_external_auth_with_timestamp=1<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Note: This is only a conceptual example for understanding the issue.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">What the Attacker Achieves<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No need to know the actual password<\/li>\n\n\n\n<li>Injects fake authentication-related parameters<\/li>\n\n\n\n<li>Sends a modified request to the server<\/li>\n<\/ul>\n\n\n\n<p>cPanel then incorrectly processes these values and may treat the session as authenticated.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Root Cause of the Issue<\/h2>\n\n\n\n<p>The vulnerability occurs because:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The attacker injects a fake token into the login request<\/li>\n\n\n\n<li>cPanel writes this data into the session file too early<\/li>\n\n\n\n<li>The session file is then used for validation<\/li>\n\n\n\n<li>cPanel mistakenly trusts the manipulated session data<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">In Simple Terms:<\/h3>\n\n\n\n<p>cPanel trusted session data that was influenced by attacker-controlled input before authentication was completed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fixed Versions Released by cPanel<\/h2>\n\n\n\n<p>The issue has been patched in the following versions:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>11.86.0.41<br>11.110.0.97<br>11.118.0.63<br>11.126.0.54<br>11.130.0.19<br>11.132.0.29<br>11.136.0.5<br>11.134.0.20<\/code><\/pre>\n\n\n\n<p>If your system is running any of these versions, the vulnerability is considered fixed. Older versions may still be at risk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Required Actions (Update Process)<\/h2>\n\n\n\n<p>To secure your server, update cPanel using:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/scripts\/upcp --force<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Verify Update Status<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/local\/cpanel\/cpanel -V<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Restart cPanel Service<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/scripts\/restartsrv_cpsrvd<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Temporary Mitigation (If Update Is Not Possible)<\/h2>\n\n\n\n<p>If immediate updating is not possible, you can reduce exposure by blocking access to cPanel services:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2083 \u2192 cPanel  <br>2087 \u2192 WHM  <br>2095 \u2192 Webmail  <br>2096 \u2192 Webmail SSL  <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Important Drawback:<\/h3>\n\n\n\n<p>Blocking these ports will also prevent legitimate users and administrators from accessing cPanel\/WHM until access is restored.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Detection of Potential Exploitation<\/h2>\n\n\n\n<p>cPanel also provides a <strong>detection script<\/strong> to identify signs of compromise. It checks for the following red flags:<\/p>\n\n\n\n<p>1. Fake Token + Failed Token Combination<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>token_denied=1  <br>cp_security_token=\/cpsessXXX  <br>origin=method=badpass<\/code><\/pre>\n\n\n\n<p>2. Pre-Authentication Session Claiming Login Success<\/p>\n\n\n\n<p>3. 2FA Marked as Passed Without Valid Login<\/p>\n\n\n\n<p>4. Password Field Containing Hidden Newlines<\/p>\n\n\n\n<p>Detection Script Reference: <a href=\"https:\/\/support.cpanel.net\/hc\/en-us\/articles\/40073787579671-Security-CVE-2026-41940-cPanel-WHM-WP2-Security-Update-04-28-2026?utm_source=chatgpt.com\">cPanel Security Advisory<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Additional Security Recommendations<\/h2>\n\n\n\n<p>To further reduce risk and strengthen security posture:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable <strong>IP-based access restrictions<\/strong> for WHM\/cPanel<\/li>\n\n\n\n<li>Restrict access using <strong>VPN-only administration<\/strong><\/li>\n\n\n\n<li>Monitor logs for unusual or repeated login attempts<\/li>\n\n\n\n<li>Enforce <strong>strong password policies<\/strong><\/li>\n\n\n\n<li>Enable <strong>Multi-Factor Authentication (MFA)<\/strong> for all admin users<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>This vulnerability highlights how session handling flaws can lead to serious authentication bypass issues in critical systems like cPanel &amp; WHM. While patches are available, securing access through layered controls such as IP restriction, MFA, and monitoring is essential to reduce exposure and prevent exploitation.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.supportpro.com\/requestquote.php\" title=\"\">Worried about cPanel\/WHM security vulnerabilities or need help securing your server infrastructure? <\/a><\/p>\n\n\n\n<p>Get expert assistance from <a href=\"https:\/\/www.supportpro.com\/requestquote.php\" title=\"\">SupportPro<\/a> for proactive monitoring, patch management, and 24\/7 technical support to keep your systems safe and fully protected.<\/p>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center has-white-background-color has-background\"><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size\">Facing issues? <\/p>\n\n\n\n<p class=\"has-large-font-size\">Our technical support<br>engineers can solve it. <\/p>\n\n\n\n<!--HubSpot Call-to-Action Code --><span class=\"hs-cta-wrapper\" id=\"hs-cta-wrapper-3350a795-db50-482f-9911-301930d1b1be\"><span class=\"hs-cta-node hs-cta-3350a795-db50-482f-9911-301930d1b1be\" id=\"hs-cta-3350a795-db50-482f-9911-301930d1b1be\"><!--[if lte IE 8]><div id=\"hs-cta-ie-element\"><\/div><![endif]--><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/2725694\/3350a795-db50-482f-9911-301930d1b1be\" ><img decoding=\"async\" class=\"hs-cta-img\" id=\"hs-cta-img-3350a795-db50-482f-9911-301930d1b1be\" style=\"border-width:0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/2725694\/3350a795-db50-482f-9911-301930d1b1be.png\"  alt=\"Contact Us today!\"\/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(2725694, '3350a795-db50-482f-9911-301930d1b1be', {\"useNewLoader\":\"true\",\"region\":\"na1\"}); <\/script><\/span><!-- end HubSpot Call-to-Action Code -->\n<\/div><figure class=\"wp-block-media-text__media\"><img fetchpriority=\"high\" decoding=\"async\" width=\"904\" height=\"931\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png\" alt=\"guy server checkup\" class=\"wp-image-12943 size-full\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png 904w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-291x300.png 291w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-768x791.png 768w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-585x602.png 585w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Overview of the Vulnerability This vulnerability in cPanel &amp; WHM is an authentication bypass flaw that can allow an attacker to gain full administrative access without requiring a valid username&hellip;<\/p>\n","protected":false},"author":37,"featured_media":17107,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[316],"tags":[],"class_list":["post-17106","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/comments?post=17106"}],"version-history":[{"count":1,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17106\/revisions"}],"predecessor-version":[{"id":17108,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/17106\/revisions\/17108"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media\/17107"}],"wp:attachment":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media?parent=17106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/categories?post=17106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/tags?post=17106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}