{"id":279,"date":"2026-08-20T17:39:04","date_gmt":"2026-08-20T15:39:04","guid":{"rendered":"https:\/\/helloblog.io\/sv\/kritisk-filuppladdningsbrist-elementor-pro-4-2-2\/"},"modified":"2026-08-20T17:39:04","modified_gmt":"2026-08-20T15:39:04","slug":"kritisk-filuppladdningsbrist-elementor-pro-4-2-2","status":"publish","type":"post","link":"https:\/\/helloblog.io\/sv\/kritisk-filuppladdningsbrist-elementor-pro-4-2-2\/","title":{"rendered":"Kritisk filuppladdningsbrist \u00e5tg\u00e4rdad i Elementor Pro 4.2.2"},"content":{"rendered":"\n<p>Elementor Pro har \u00e5tg\u00e4rdat en kritisk s\u00e4kerhetsbrist som kan l\u00e5ta en icke inloggad angripare ladda upp godtyckliga filer, \u00e4ven k\u00f6rbara PHP-filer, till en WordPress-webbplats. Bristen ber\u00f6r alla versioner till och med 4.2.1 och kan leda till fj\u00e4rrk\u00f6rning av kod och ett fullst\u00e4ndigt \u00f6vertagande av webbplatsen.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-danger is-style-danger is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Uppdatera till 4.2.2<\/h4>\n\n\n<p>Installerade du Elementor Pro 4.2.1 eller en \u00e4ldre version ska du uppdatera till version 4.2.2 s\u00e5 snart som m\u00f6jligt. Angreppet kr\u00e4ver en publicerad sida med Elementor Pro Form och minst ett valfritt f\u00e4lt f\u00f6r filuppladdning.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Vilka webbplatser p\u00e5verkas?<\/h2>\n\n\n\n<p>S\u00e4kerhetsbristen har identifieraren <a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2026-32475\">CVE-2026-32475<\/a> och CVSS-betyget 9,8 av 10, allts\u00e5 kritiskt. Den finns i <a href=\"https:\/\/elementor.com\/pro\/\">Elementor Website Builder Pro<\/a> och ber\u00f6r versioner till och med 4.2.1. Elementor sl\u00e4ppte den fullt korrigerade versionen 4.2.2 den 19 augusti 2026.<\/p>\n\n\n\n<p>En angripare beh\u00f6ver inte ha ett konto p\u00e5 WordPress-webbplatsen. D\u00e4remot m\u00e5ste webbplatsen ha publicerat en sida med Form-widgeten fr\u00e5n Elementor Pro, d\u00e4r minst ett File Upload-f\u00e4lt inte \u00e4r markerat som obligatoriskt. Wordfence uppm\u00e4rksammade bristen den 24 juli 2026.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00e5 kringg\u00e5r angreppet filvalideringen<\/h2>\n\n\n\n<p>Elementor Pro hanterar formul\u00e4rinskick via funktionen <code>ajax_send_form()<\/code> i klassen <code>Ajax_Handler<\/code>, en endpoint som bes\u00f6kare utan inloggning kan n\u00e5. Till\u00e4gget kapslar sedan formul\u00e4rdata och uppladdade filer i ett <code>Form_Record<\/code>-objekt och skickar dem genom sin validering och bearbetning.<\/p>\n\n\n\n<p>F\u00f6r File Upload-f\u00e4lt g\u00e5r fl\u00f6det vidare till <code>validation()<\/code> och <code>process_field()<\/code> i klassen <code>ElementorProModulesFormsFieldsUpload<\/code>. Felet finns i valideringsloopen: n\u00e4r ett valfritt f\u00e4lt inneh\u00e5ller en tom f\u00f6rsta plats i filarrayen returnerar koden fr\u00e5n hela funktionen i st\u00e4llet f\u00f6r att hoppa \u00f6ver just den tomma posten.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>foreach ( $files[ $id ] as $index =&gt; $file ) {\n    \/\/ Ingen fil har laddats upp i denna plats.\n    if ( ! $field['required'] &amp;&amp; UPLOAD_ERR_NO_FILE === $file['error'] ) {\n        return;\n    }\n\n    \/\/ Kontroll av filtyp och filstorlek k\u00f6rs aldrig f\u00f6r senare poster.\n    if ( ! $this-&gt;is_file_type_valid( $field, $file ) ) {\n        $ajax_handler-&gt;add_error(\n            $id,\n            esc_html__( 'This file type is not allowed.', 'elementor-pro' )\n        );\n    }\n\n    if ( ! $this-&gt;is_file_size_valid( $field, $file ) ) {\n        $ajax_handler-&gt;add_error(\n            $id,\n            esc_html__( 'This file exceeds the maximum allowed size.', 'elementor-pro' )\n        );\n    }\n}\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#F97583\">foreach<\/span><span style=\"color:#E1E4E8\"> ( $files[ $id ] <\/span><span style=\"color:#F97583\">as<\/span><span style=\"color:#E1E4E8\"> $index <\/span><span style=\"color:#F97583\">=><\/span><span style=\"color:#E1E4E8\"> $file ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\">    \/\/ Ingen fil har laddats upp i denna plats.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">    if<\/span><span style=\"color:#E1E4E8\"> ( <\/span><span style=\"color:#F97583\">!<\/span><span style=\"color:#E1E4E8\"> $field[<\/span><span style=\"color:#9ECBFF\">'required'<\/span><span style=\"color:#E1E4E8\">] <\/span><span style=\"color:#F97583\">&#x26;&#x26;<\/span><span style=\"color:#79B8FF\"> UPLOAD_ERR_NO_FILE<\/span><span style=\"color:#F97583\"> ===<\/span><span style=\"color:#E1E4E8\"> $file[<\/span><span style=\"color:#9ECBFF\">'error'<\/span><span style=\"color:#E1E4E8\">] ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">        return<\/span><span style=\"color:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\">    \/\/ Kontroll av filtyp och filstorlek k\u00f6rs aldrig f\u00f6r senare poster.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">    if<\/span><span style=\"color:#E1E4E8\"> ( <\/span><span style=\"color:#F97583\">!<\/span><span style=\"color:#79B8FF\"> $this<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">is_file_type_valid<\/span><span style=\"color:#E1E4E8\">( $field, $file ) ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        $ajax_handler<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">add_error<\/span><span style=\"color:#E1E4E8\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">            $id,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">            esc_html__<\/span><span style=\"color:#E1E4E8\">( <\/span><span style=\"color:#9ECBFF\">'This file type is not allowed.'<\/span><span style=\"color:#E1E4E8\">, <\/span><span style=\"color:#9ECBFF\">'elementor-pro'<\/span><span style=\"color:#E1E4E8\"> )<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        );<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">    if<\/span><span style=\"color:#E1E4E8\"> ( <\/span><span style=\"color:#F97583\">!<\/span><span style=\"color:#79B8FF\"> $this<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">is_file_size_valid<\/span><span style=\"color:#E1E4E8\">( $field, $file ) ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        $ajax_handler<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">add_error<\/span><span style=\"color:#E1E4E8\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">            $id,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">            esc_html__<\/span><span style=\"color:#E1E4E8\">( <\/span><span style=\"color:#9ECBFF\">'This file exceeds the maximum allowed size.'<\/span><span style=\"color:#E1E4E8\">, <\/span><span style=\"color:#9ECBFF\">'elementor-pro'<\/span><span style=\"color:#E1E4E8\"> )<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        );<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Det avsedda beteendet hade varit <code>continue<\/code>. D\u00e5 hade loopen hoppat \u00f6ver den tomma posten och fortsatt kontrollera n\u00e4sta fil. <code>return<\/code> avbryter i st\u00e4llet all \u00e5terst\u00e5ende validering, s\u00e5 varken <code>is_file_type_valid()<\/code> eller filstorlekskontrollen k\u00f6rs f\u00f6r senare filer i samma uppladdningsf\u00e4lt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00e5 n\u00e5r en PHP-fil servern<\/h2>\n\n\n\n<p>Angriparen skickar uppladdningsf\u00e4ltet som en array med tv\u00e5 delar. Den f\u00f6rsta delen \u00e4r tom och f\u00e5r felet <code>UPLOAD_ERR_NO_FILE<\/code>, vilket utl\u00f6ser den tidiga returen. Den andra delen inneh\u00e5ller en PHP-payload med en fil\u00e4ndelse som angriparen v\u00e4ljer, men valideringen granskar aldrig den filen.<\/p>\n\n\n\n<p>Bearbetningsfunktionen <code>process_field()<\/code> anv\u00e4nder d\u00e4remot korrekt <code>continue<\/code> f\u00f6r den tomma f\u00f6rsta posten. D\u00e4rf\u00f6r forts\u00e4tter den till den andra, ovaliderade filen. Funktionen h\u00e4mtar fil\u00e4ndelsen direkt fr\u00e5n det filnamn som klienten har skickat och skriver filen till disk.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>foreach ( $files[ $id ] as $index =&gt; $file ) {\n    if ( UPLOAD_ERR_NO_FILE === $file['error'] ) {\n        continue;\n    }\n\n    $uploads_dir = $this-&gt;get_ensure_upload_dir();\n    $file_extension = pathinfo( $file['name'], PATHINFO_EXTENSION );\n    $filename = uniqid() . '.' . $file_extension;\n    $filename = wp_unique_filename( $uploads_dir, $filename );\n    $new_file = trailingslashit( $uploads_dir ) . $filename;\n\n    if ( is_dir( $uploads_dir ) &amp;&amp; is_writable( $uploads_dir ) ) {\n        $move_new_file = Plugin::instance()-&gt;php_api-&gt;move_uploaded_file(\n            $file['tmp_name'],\n            $new_file\n        );\n\n        if ( false !== $move_new_file ) {\n            chmod( $new_file, 0644 );\n            $record-&gt;add_file( $id, $index, [\n                'path' =&gt; $new_file,\n                'url' =&gt; $this-&gt;get_file_url( $filename ),\n            ] );\n        }\n    }\n}\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#F97583\">foreach<\/span><span style=\"color:#E1E4E8\"> ( $files[ $id ] <\/span><span style=\"color:#F97583\">as<\/span><span style=\"color:#E1E4E8\"> $index <\/span><span style=\"color:#F97583\">=><\/span><span style=\"color:#E1E4E8\"> $file ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">    if<\/span><span style=\"color:#E1E4E8\"> ( <\/span><span style=\"color:#79B8FF\">UPLOAD_ERR_NO_FILE<\/span><span style=\"color:#F97583\"> ===<\/span><span style=\"color:#E1E4E8\"> $file[<\/span><span style=\"color:#9ECBFF\">'error'<\/span><span style=\"color:#E1E4E8\">] ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">        continue<\/span><span style=\"color:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    $uploads_dir <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#79B8FF\"> $this<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">get_ensure_upload_dir<\/span><span style=\"color:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    $file_extension <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#79B8FF\"> pathinfo<\/span><span style=\"color:#E1E4E8\">( $file[<\/span><span style=\"color:#9ECBFF\">'name'<\/span><span style=\"color:#E1E4E8\">], <\/span><span style=\"color:#79B8FF\">PATHINFO_EXTENSION<\/span><span style=\"color:#E1E4E8\"> );<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    $filename <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#79B8FF\"> uniqid<\/span><span style=\"color:#E1E4E8\">() <\/span><span style=\"color:#F97583\">.<\/span><span style=\"color:#9ECBFF\"> '.'<\/span><span style=\"color:#F97583\"> .<\/span><span style=\"color:#E1E4E8\"> $file_extension;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    $filename <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#B392F0\"> wp_unique_filename<\/span><span style=\"color:#E1E4E8\">( $uploads_dir, $filename );<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    $new_file <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#B392F0\"> trailingslashit<\/span><span style=\"color:#E1E4E8\">( $uploads_dir ) <\/span><span style=\"color:#F97583\">.<\/span><span style=\"color:#E1E4E8\"> $filename;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">    if<\/span><span style=\"color:#E1E4E8\"> ( <\/span><span style=\"color:#79B8FF\">is_dir<\/span><span style=\"color:#E1E4E8\">( $uploads_dir ) <\/span><span style=\"color:#F97583\">&#x26;&#x26;<\/span><span style=\"color:#79B8FF\"> is_writable<\/span><span style=\"color:#E1E4E8\">( $uploads_dir ) ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        $move_new_file <\/span><span style=\"color:#F97583\">=<\/span><span style=\"color:#79B8FF\"> Plugin<\/span><span style=\"color:#F97583\">::<\/span><span style=\"color:#B392F0\">instance<\/span><span style=\"color:#E1E4E8\">()<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#E1E4E8\">php_api<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">move_uploaded_file<\/span><span style=\"color:#E1E4E8\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">            $file[<\/span><span style=\"color:#9ECBFF\">'tmp_name'<\/span><span style=\"color:#E1E4E8\">],<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">            $new_file<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        );<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#F97583\">        if<\/span><span style=\"color:#E1E4E8\"> ( <\/span><span style=\"color:#79B8FF\">false<\/span><span style=\"color:#F97583\"> !==<\/span><span style=\"color:#E1E4E8\"> $move_new_file ) {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#79B8FF\">            chmod<\/span><span style=\"color:#E1E4E8\">( $new_file, <\/span><span style=\"color:#79B8FF\">0644<\/span><span style=\"color:#E1E4E8\"> );<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">            $record<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">add_file<\/span><span style=\"color:#E1E4E8\">( $id, $index, [<\/span><\/span>\n<span class=\"line\"><span style=\"color:#9ECBFF\">                'path'<\/span><span style=\"color:#F97583\"> =><\/span><span style=\"color:#E1E4E8\"> $new_file,<\/span><\/span>\n<span class=\"line\"><span style=\"color:#9ECBFF\">                'url'<\/span><span style=\"color:#F97583\"> =><\/span><span style=\"color:#79B8FF\"> $this<\/span><span style=\"color:#F97583\">-><\/span><span style=\"color:#B392F0\">get_file_url<\/span><span style=\"color:#E1E4E8\">( $filename ),<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">            ] );<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">        }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#E1E4E8\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>En fil med \u00e4ndelsen <code>.php<\/code> hamnar d\u00e4rmed direkt i <code>\/wp-content\/uploads\/elementor\/forms\/<\/code>. Angriparen kan sedan beg\u00e4ra filens URL och k\u00f6ra PHP-payloaden p\u00e5 servern. Godtyckliga filuppladdningar kan bland annat ge angriparen m\u00f6jlighet att anv\u00e4nda en webshell och ta \u00f6ver hela webbplatsen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tidslinje<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>24 juli 2026: S\u00e4kerhetsbristen i Elementor Pro rapporterades via ett s\u00e5rbarhetsprogram.<\/li>\n\n\n<li>27 juli 2026: Rapporten validerades, ett proof of concept bekr\u00e4ftades och Elementor fick information om bristen.<\/li>\n\n\n<li>2 augusti 2026: Elementor meddelade att en annan s\u00e4kerhetsforskare ocks\u00e5 hade rapporterat samma brist och att en korrigering var under arbete.<\/li>\n\n\n<li>19 augusti 2026: Elementor Pro 4.2.2 sl\u00e4pptes med en fullst\u00e4ndig korrigering.<\/li>\n\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Uppdatera Elementor Pro nu<\/h2>\n\n\n\n<p>Kontrollera vilken version av Elementor Pro som k\u00f6rs p\u00e5 varje WordPress-webbplats du ansvarar f\u00f6r. Uppdatera alla installationer med version 4.2.1 eller \u00e4ldre till 4.2.2, s\u00e4rskilt om de har publicerade formul\u00e4r med valfria f\u00e4lt f\u00f6r filuppladdning. Granska ocks\u00e5 s\u00e5dana formul\u00e4r och webbplatsens uppladdningskatalog efter ov\u00e4ntade filer om en s\u00e5rbar version har varit exponerad.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Referenser \/ K\u00e4llor<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/www.wordfence.com\/blog\/2026\/08\/critical-arbitrary-file-upload-vulnerability-patched-in-elementor-pro-wordpress-plugin\/\" target=\"_blank\" rel=\"noopener noreferrer\">Critical Arbitrary File Upload Vulnerability Patched in Elementor Pro WordPress Plugin<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>En icke inloggad angripare kan ladda upp PHP-filer via vissa Elementor Pro-formul\u00e4r och ta \u00f6ver webbplatsen. Uppdatera Elementor Pro till 4.2.2 omedelbart.<\/p>\n","protected":false},"author":62,"featured_media":278,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[154,152,153,11,10],"class_list":["post-279","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sakerhet","tag-cve-2026-32475","tag-elementor-pro","tag-filuppladdning","tag-sakerhet","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/posts\/279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/users\/62"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/comments?post=279"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/posts\/279\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/media\/278"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/media?parent=279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/categories?post=279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/sv\/wp-json\/wp\/v2\/tags?post=279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}