{"id":263,"date":"2026-08-20T17:39:47","date_gmt":"2026-08-20T15:39:47","guid":{"rendered":"https:\/\/helloblog.io\/hr\/kriticna-ranjivost-elementor-pro-prijenos-php-datoteka\/"},"modified":"2026-08-20T17:39:47","modified_gmt":"2026-08-20T15:39:47","slug":"kriticna-ranjivost-elementor-pro-prijenos-php-datoteka","status":"publish","type":"post","link":"https:\/\/helloblog.io\/hr\/kriticna-ranjivost-elementor-pro-prijenos-php-datoteka\/","title":{"rendered":"Kriti\u010dna ranjivost u Elementor Prou omogu\u0107uje prijenos PHP datoteka"},"content":{"rendered":"\n<p>Elementor Pro do verzije 4.2.1 sadr\u017ei kriti\u010dnu ranjivost koja napada\u010du bez korisni\u010dkog ra\u010duna omogu\u0107uje prijenos proizvoljnih datoteka. Napada\u010d mo\u017ee prenijeti izvr\u0161nu PHP datoteku, pokrenuti je pozivom preko preglednika te preuzeti potpunu kontrolu nad WordPress stranicom. Ranjivost nosi oznaku <strong>CVE-2026-32475<\/strong> i ocjenu <strong>9,8 od 10<\/strong> prema sustavu Common Vulnerability Scoring System (CVSS).<\/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\">A\u017eurirajte Elementor Pro<\/h4>\n\n\n<p>Ranjivost zahva\u0107a sve verzije Elementor Proa do uklju\u010divo 4.2.1. Verzija 4.2.2 uklanja problem, pa provjerite verziju dodatka i a\u017eurirajte ga \u0161to prije.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Koje su stranice izlo\u017eene<\/h2>\n\n\n\n<p>Problem se aktivira samo pod odre\u0111enim uvjetima, ali su oni \u010desti na produkcijskim stranicama. Izlo\u017eena je stranica koja ima javno objavljenu stranicu s widgetom Elementor Pro Form i barem jednim poljem File Upload koje nije ozna\u010deno kao obavezno. Elementor Pro ima procijenjenih \u0161est milijuna aktivnih instalacija, zato provjerite sve javne obrasce koji prihva\u0107aju datoteke.<\/p>\n\n\n\n<p>Za napad nije potrebna prijava u WordPress niti druga prethodna ovlast. Dovoljno je da napada\u010d mo\u017ee poslati obrazac s pogo\u0111enim poljem za prijenos datoteka.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kako zaobilazi provjeru datoteka<\/h2>\n\n\n\n<p>Elementor Pro obra\u0111uje slanje obrasca metodom <code>ajax_send_form()<\/code> iz klase <code>Ajax_Handler<\/code>, kojoj mogu pristupiti i neprijavljeni posjetitelji. Dodatak zatim podatke obrasca, uklju\u010duju\u0107i prenesene datoteke, smje\u0161ta u objekt <code>Form_Record<\/code> i proslje\u0111uje ih metodama <code>validation()<\/code> i <code>process_field()<\/code> klase <code>ElementorProModulesFormsFieldsUpload<\/code>.<\/p>\n\n\n\n<p>Gre\u0161ka se nalazi u petlji za provjeru unosa u <code>Upload::validation()<\/code>. Kad polje nije obavezno, a prvi element polja sadr\u017ei PHP-ovu pogre\u0161ku <code>UPLOAD_ERR_NO_FILE<\/code>, metoda poziva <code>return<\/code>. Time prekida cijelu provjeru preostalih datoteka u istom polju, umjesto da presko\u010di samo prazni unos.<\/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    \/\/ Polje nije obavezno, a prvi unos nema datoteku.\n    if ( ! $field['required'] &amp;&amp; UPLOAD_ERR_NO_FILE === $file['error'] ) {\n        return;\n    }\n\n    if ( ! $this-&gt;is_file_type_valid( $field, $file ) ) {\n        $ajax_handler-&gt;add_error( $id, 'This file type is not allowed.' );\n    }\n\n    if ( ! $this-&gt;is_file_size_valid( $field, $file ) ) {\n        $ajax_handler-&gt;add_error( $id, 'This file exceeds the maximum allowed size.' );\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\">    \/\/ Polje nije obavezno, a prvi unos nema datoteku.<\/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:#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\">( $id, <\/span><span style=\"color:#9ECBFF\">'This file type is not allowed.'<\/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:#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\">( $id, <\/span><span style=\"color:#9ECBFF\">'This file exceeds the maximum allowed size.'<\/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><\/code><\/pre><\/div>\n\n\n\n<p>Ispravno bi pona\u0161anje na praznom mjestu bilo <code>continue<\/code>: ono bi presko\u010dilo taj element i nastavilo provjeravati sljede\u0107i. Zbog <code>return<\/code> poziva dodatak ne provjerava nastavak ni veli\u010dinu nijedne datoteke koja slijedi nakon praznog prvog elementa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tijek napada i posljedica<\/h2>\n\n\n\n<p>Napada\u010d polje za prijenos \u0161alje kao polje s dva elementa. Prvi ostavlja praznim kako bi izazvao <code>UPLOAD_ERR_NO_FILE<\/code> i prekinuo provjeru, a u drugi stavlja PHP sadr\u017eaj s nastavkom datoteke koji sam odabere. Provjera tako ne primjenjuje <code>is_file_type_valid()<\/code> niti ograni\u010denje veli\u010dine na drugu datoteku.<\/p>\n\n\n\n<p>Metoda <code>process_field()<\/code> prazni prvi element ipak samo preska\u010de s <code>continue<\/code>, pa nastavlja obra\u0111ivati drugu datoteku koju prethodna metoda nije provjerila. Nastavak \u010dita iz naziva datoteke koji \u0161alje klijent, stvara jedinstveni naziv te datoteku zapisuje na 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    $move_new_file = Plugin::instance()-&gt;php_api-&gt;move_uploaded_file(\n        $file['tmp_name'],\n        $new_file\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:#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 style=\"color:#E1E4E8\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Zbog o\u010duvanog nastavka datoteka s nastavkom <code>.php<\/code> zavr\u0161ava u direktoriju <code>\/wp-content\/uploads\/elementor\/forms\/<\/code>. Napada\u010d zatim mo\u017ee zatra\u017eiti tu datoteku i pokrenuti preneseni PHP kod na poslu\u017eitelju. Takav proizvoljni prijenos datoteka mo\u017ee dovesti do udaljenog izvr\u0161avanja koda, postavljanja webshella i potpunog kompromitiranja stranice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u0160to trebate u\u010diniti<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li>U administraciji WordPressa otvorite popis dodataka i provjerite verziju Elementor Proa.<\/li>\n\n\n<li>Ako koristite verziju 4.2.1 ili stariju, odmah instalirajte Elementor Pro 4.2.2 ili noviju dostupnu verziju.<\/li>\n\n\n<li>Pregledajte javno dostupne stranice s Elementor Pro Form widgetom, posebno obrasce koji imaju neobavezno polje File Upload.<\/li>\n\n\n<li>Nakon a\u017euriranja provjerite radi li slanje obrazaca i prijenos legitimnih datoteka kako o\u010dekujete.<\/li>\n\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Vremenska crta<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>24. srpnja 2026. istra\u017eiva\u010d je prijavio ranjivost kroz program Wordfencea.<\/li>\n\n\n<li>27. srpnja 2026. potvr\u0111en je dokaz koncepta i Elementor je dobio prijavu.<\/li>\n\n\n<li>2. kolovoza 2026. Elementor je potvrdio da je ranjivost prijavio i drugi istra\u017eiva\u010d te da radi na zakrpi.<\/li>\n\n\n<li>19. kolovoza 2026. objavljen je Elementor Pro 4.2.2 s potpunom zakrpom.<\/li>\n\n<\/ul>\n\n\n\n<p>Nemojte se osloniti na to da obrazac rijetko prima datoteke: uvjet za napad je javno dostupan obrazac s neobaveznim poljem, a ne interakcija administratora. Nadogradite Elementor Pro na 4.2.2 ili noviju verziju i odmah uklonite izlo\u017eenost ove ranjivosti.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Reference \/ Izvori<\/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><li><a href=\"https:\/\/www.wordfence.com\/threat-intel\/vulnerabilities\/id\/0a32b02f-db40-42fe-b46c-4a5f2bc9ba09\" target=\"_blank\" rel=\"noopener noreferrer\">Elementor Pro &lt;= 4.2.1 &#8211; Unauthenticated Arbitrary File Upload via Upload Field Array Validation Bypass<\/a><\/li><li><a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2026-32475\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2026-32475<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Ako na javno objavljenoj stranici imate Elementor Pro obrazac s neobaveznim poljem za prijenos datoteka, a\u017eurirajte dodatak odmah. Napada\u010d bez prijave mo\u017ee zaobi\u0107i provjeru i pokrenuti PHP kod na poslu\u017eitelju.<\/p>\n","protected":false},"author":43,"featured_media":262,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[147,145,146,148,10],"class_list":["post-263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sigurnost","tag-cve-2026-32475","tag-elementor-pro","tag-ranjivost","tag-sigurnost-dodataka","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/posts\/263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/comments?post=263"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/posts\/263\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/media\/262"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/media?parent=263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/categories?post=263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/hr\/wp-json\/wp\/v2\/tags?post=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}