[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fryuYSQJCEC4Okb1v4qu9D8XK4bqxJIq3Y3YIiqlzaXc":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":49,"crawl_stats":38,"alternatives":56,"analysis":57,"fingerprints":239},"exmage-wp-image-links","EXMAGE – WordPress Image Links","1.1.1","VillaTheme","https:\u002F\u002Fprofiles.wordpress.org\u002Fvillatheme\u002F","\u003Cp>EXMAGE – WordPress Image Links helps you save storage by using external image URLs. These images are shown in Media library like normal images so that you can choose them for post\u002Fproduct featured image, WooCommerce product gallery… or everywhere that images are chosen from Media library.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fnew2new.com\u002F?item=exmage\" title=\"Demo EXMAGE - WordPress Image Links\" rel=\"nofollow ugc\">Try the Demo\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fdocs.villatheme.com\u002F?item=exmage\" title=\"Documents\" rel=\"nofollow ugc\">Documents\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002F1.envato.market\u002FN9DKr7\" title=\"Premium Version\" rel=\"nofollow ugc\">Pro Version\u003C\u002Fa> | | \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002Fvillatheme\" title=\"VillaTheme\" rel=\"nofollow ugc\">Facebook group\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Preview EXMAGE – WordPress Image Links\u003C\u002Fh3>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FR_hNwUIGqIQ?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>How to install and use the plugin\u003C\u002Fh3>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FKSQoZjM7yBI?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>Important Notice:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>This plugin only supports real image URLs that have correct image mime type. It does not support image URLs from an image hosting service(such as Flickr, Imgur, Photobucket …) or a file storage service(such as Google drive)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>External images added by this plugin will no longer work if the plugin is not active\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>FEATURES\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Ability to add single image URL on Upload files tab of the Media library\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Ability to add multiple image URLs at once on below the File upload on Upload New Media page\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>External images have an icon to distinguish them from normal attachments.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>External images also have attachment ID like normal attachments so that you can use them wherever that allows to insert images from Media library such as Post\u002FProduct featured image, product gallery images, variation image, product category image…\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Compatible with ALD plugin: when this plugin is active, there will be an option named “Use external links for images” in the ALD plugin settings\u002FProducts. By enabling this option, AliExpress products imported by ALD plugin will use original AliExpress image URLs for product featured images, gallery images and variation images instead of saving images to your server.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>=Integration=\u003C\u002Fp>\n\u003Cpre>\u003Ccode>if(class_exists( 'EXMAGE_WP_IMAGE_LINKS' )){\n    $add_image = EXMAGE_WP_IMAGE_LINKS::add_image( $url, $image_id, $post_parent );\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>-$url: URL of the image you want to process\u003Cbr \u002F>\n-$image_id: Passed by reference\u003Cbr \u002F>\n-$post_parent: ID of the post that you want the image to be attached to. If empty, the image will not be attached to any post\u003Cbr \u002F>\n-Return:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>        [\n        'url'       => $url,\u002F\u002FInput URL\n        'message'   => '',\u002F\u002FAdditional information\n        'status'    => 'error',\u002F\u002Ferror or success\n        'id'        => '',\u002F\u002FAttachment ID if added new or the attachment exists\n        'edit_link' => '',\u002F\u002FAttachment's edit link if added new or the attachment exists\n        ]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>MAY BE YOU NEED\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002F9map-map-multi-locations\u002F\" rel=\"ugc\">9Map – Map Multi Locations\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-abandoned-cart-recovery\u002F\" rel=\"ugc\">Abandoned Cart Recovery for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-advanced-product-information\u002F\" rel=\"ugc\">Advanced Product Information for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Faffi-affiliate-marketing-for-woo\u002F\" rel=\"ugc\">AFFI – Affiliate Marketing for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-alidropship\u002F\" rel=\"ugc\">ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-boost-sales\u002F\" rel=\"ugc\">Boost Sales for WooCommerce – Set up Up-Sells & Cross-Sells Popups & Auto Apply Coupon\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbopo-woo-product-bundle-builder\u002F\" rel=\"ugc\">Bopo – WooCommerce Product Bundle Builder\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbulky-bulk-edit-products-for-woo\u002F\" rel=\"ugc\">Bulky – Bulk Edit Products for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-cart-all-in-one\u002F\" rel=\"ugc\">Cart All In One For WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcatna-woo-name-your-price-and-offers\u002F\" rel=\"ugc\">Catna – Woo Name Your Price and Offers\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcheckout-upsell-funnel-for-woo\u002F\" rel=\"ugc\">Checkout Upsell Funnel for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fchinads-dropshipping-taobao-woocommerce\u002F\" rel=\"ugc\">ChinaDS – Tmall-Taobao Dropshipping for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fclear-autoptimize-cache-automatically\u002F\" rel=\"ugc\">Clear Autoptimize Cache Automatically\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcompe-woo-compare-products\u002F\" rel=\"ugc\">COMPE – WooCommerce Compare Products\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-coupon-reminder\u002F\" rel=\"ugc\">Coreem – Coupon Reminder for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-coupon-box\u002F\" rel=\"ugc\">Coupon Box for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-multi-currency\u002F\" rel=\"ugc\">CURCY – Multi Currency for WooCommerce – Smoothly on WooCommerce 9.x\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-customer-coupons\u002F\" rel=\"ugc\">Customer Coupons for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdepart-deposit-and-part-payment-for-woo\u002F\" rel=\"ugc\">DEPART – Deposit and Part payment for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Femail-template-customizer-for-woo\u002F\" rel=\"ugc\">Email Template Customizer for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fepoi-wp-points-and-rewards\u002F\" rel=\"ugc\">EPOI – WP Points and Rewards\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fepow-custom-product-options-for-woocommerce\u002F\" rel=\"ugc\">EPOW – Custom Product Options for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feu-cookies-bar\u002F\" rel=\"ugc\">EU Cookies Bar for WordPress\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fexmage-wp-image-links\u002F\" rel=\"ugc\">EXMAGE – WordPress Image Links\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-virtual-reviews\u002F\" rel=\"ugc\">Faview – Virtual Reviews for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffewc-extra-checkout-fields-for-woocommerce\u002F\" rel=\"ugc\">FEWC – Extra Checkout Fields For WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-free-shipping-bar\u002F\" rel=\"ugc\">Free Shipping Bar for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fgift4u-gift-cards-all-in-one-for-woo\u002F\" rel=\"ugc\">GIFT4U – Gift Cards All in One for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhandmade-dropshipping-for-etsy-and-woo\u002F\" rel=\"ugc\">HANDMADE – Dropshipping for Etsy and WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fhappy-helpdesk-support-ticket-system\u002F\" rel=\"ugc\">HAPPY – Helpdesk Support Ticket System\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjagif-woo-free-gift\u002F\" rel=\"ugc\">Jagif – WooCommerce Free Gift\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-lookbook\u002F\" rel=\"ugc\">LookBook for WooCommerce – Shoppable with Product Tags\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-lucky-wheel\u002F\" rel=\"ugc\">Lucky Wheel for WooCommerce – Spin a Sale\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-lucky-wheel\u002F\" rel=\"ugc\">Lucky Wheel Giveaway\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-notification\u002F\" rel=\"ugc\">Notification for WooCommerce | Boost Your Sales – Recent Sales Popup – Live Feed Sales – Upsells\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-orders-tracking\u002F\" rel=\"ugc\">Orders Tracking for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-photo-reviews\u002F\" rel=\"ugc\">Photo Reviews for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpofily-woo-product-filters\u002F\" rel=\"ugc\">Pofily – WooCommerce Product Filters\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-pre-orders-for-woo\u002F\" rel=\"ugc\">PRENA – Product Pre-Orders for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-product-builder\u002F\" rel=\"ugc\">Product Builder for WooCommerce – Custom PC Builder\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-size-chart-for-woo\u002F\" rel=\"ugc\">Product Size Chart For WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-variations-swatches-for-woocommerce\u002F\" rel=\"ugc\">Product Variations Swatches for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fredis-woo-dynamic-pricing-and-discounts\u002F\" rel=\"ugc\">REDIS – WooCommerce Dynamic Pricing and Discounts\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frees-real-estate-for-woo\u002F\" rel=\"ugc\">REES – Real Estate for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fimport-shopify-to-woocommerce\u002F\" rel=\"ugc\">S2W – Import Shopify to WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsales-countdown-timer\u002F\" rel=\"ugc\">Sales Countdown Timer\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsubre-product-subscription-for-woo\u002F\" rel=\"ugc\">SUBRE – Product Subscription for WooCommerce – Recurring Payments\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-suggestion-engine\u002F\" rel=\"ugc\">Suggestion Engine for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-thank-you-page-customizer\u002F\" rel=\"ugc\">Thank You Page Customizer for WooCommerce – Increase Your Sales\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftmds-dropshipping-for-temu-and-woo\u002F\" rel=\"ugc\">TMDS – Dropshipping for TEMU and Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvargal-additional-variation-gallery-for-woo\u002F\" rel=\"ugc\">VARGAL – Additional Variation Gallery for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvillatheme-core\u002F\" rel=\"ugc\">VillaTheme Core\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvima-multi-customer-addresses-for-woo\u002F\" rel=\"ugc\">VIMA – Multi Customer Addresses for Woo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fviseek-easy-custom-search\u002F\" rel=\"ugc\">VISeek – Easy Custom Search\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fw2s-migrate-woo-to-shopify\u002F\" rel=\"ugc\">W2S – Migrate WooCommerce to Shopify\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwebpos-point-of-sale-for-woocommerce\u002F\" rel=\"ugc\">WebPOS – Point of Sale for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwpbulky-wp-bulk-edit-post-types\u002F\" rel=\"ugc\">WPBulky – WordPress Bulk Edit Post Types\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Plugin Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fvillatheme.com\u002Fextensions\u002Fexmage-wordpress-image-links\u002F\" rel=\"nofollow ugc\">Project Page\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fvillatheme.com\u002Fknowledge-base\u002Fsecurity-is-our-priority\u002F\" rel=\"nofollow ugc\">Report Bugs\u002FIssues\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Add images using external links - Save your storage with EXMAGE effortlessly",7000,158922,100,33,"2026-01-21T03:37:00.000Z","6.9.4","5.0.0","7.0",[20,21,22,23,24],"elementor-gallery-with-links","woocommerce-product-image-external-url","wordpress-gallery-custom-links","wordpress-gallery-with-links","wordpress-image-links","https:\u002F\u002Fvillatheme.com\u002Fextensions\u002Fexmage-wordpress-image-links\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fexmage-wp-image-links.zip",99,1,0,"2022-04-14 00:00:00","2026-03-15T15:16:48.613Z",[33],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":40,"severity":41,"cvss_score":42,"cvss_vector":43,"vuln_type":44,"published_date":30,"updated_date":45,"references":46,"days_to_patch":48},"CVE-2022-1037","exmage-wordpress-image-links-admin-blind-ssrf","EXMAGE – WordPress Image Links \u003C= 1.0.6 - Admin+ Blind SSRF","The EXMAGE WordPress plugin before 1.0.7 does to ensure that images added via URLs are external images, which could lead to a blind SSRF issue by using local URLs",null,"\u003C=1.0.6","1.0.7","high",7.2,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:H\u002FUI:N\u002FS:U\u002FC:H\u002FI:H\u002FA:H","Server-Side Request Forgery (SSRF)","2024-01-22 19:56:02",[47],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F0dd1ded1-8966-4247-ab75-17980f00f9b9?source=api-prod",649,{"slug":50,"display_name":7,"profile_url":8,"plugin_count":51,"total_installs":52,"avg_security_score":27,"avg_patch_time_days":53,"trust_score":54,"computed_at":55},"villatheme",58,166650,217,78,"2026-04-04T03:54:21.785Z",[],{"attackSurface":58,"codeSignals":192,"taintFlows":203,"riskAssessment":230,"analyzedAt":238},{"hooks":59,"ajaxHandlers":178,"restRoutes":188,"shortcodes":189,"cronEvents":190,"entryPointCount":191,"unprotectedCount":29},[60,66,70,73,76,79,83,88,93,97,100,104,108,112,115,118,121,124,127,131,134,138,142,144,147,151,154,156,160,163,167,171,174],{"type":61,"name":62,"callback":63,"file":64,"line":65},"action","before_woocommerce_init","closure","exmage-wp-image-links.php",29,{"type":61,"name":67,"callback":68,"file":64,"line":69},"plugins_loaded","check_environment",46,{"type":61,"name":71,"callback":71,"file":64,"line":72},"init",59,{"type":61,"name":74,"callback":74,"file":64,"line":75},"admin_init",60,{"type":61,"name":77,"callback":77,"file":64,"line":78},"admin_notices",61,{"type":61,"name":80,"callback":81,"file":64,"line":82},"admin_enqueue_scripts","wp_enqueue_media",62,{"type":84,"name":85,"callback":86,"file":64,"line":87},"filter","plugin_action_links_exmage-wp-image-links\u002Fexmage-wp-image-links.php","settings_link",64,{"type":61,"name":89,"callback":90,"priority":91,"file":64,"line":92},"post-upload-ui","post_upload_ui",20,66,{"type":61,"name":94,"callback":95,"file":64,"line":96},"print_media_templates","override_media_template_attachment_detail",67,{"type":84,"name":98,"callback":98,"file":64,"line":99},"wp_prepare_attachment_for_js",68,{"type":84,"name":101,"callback":102,"file":64,"line":103},"manage_media_columns","is_external",70,{"type":61,"name":105,"callback":106,"file":64,"line":107},"manage_media_custom_column","column_callback_media",71,{"type":84,"name":109,"callback":109,"priority":110,"file":64,"line":111},"load_image_to_edit_path",10,73,{"type":84,"name":113,"callback":113,"priority":110,"file":64,"line":114},"wp_get_attachment_url",75,{"type":84,"name":116,"callback":116,"priority":110,"file":64,"line":117},"wp_calculate_image_srcset",76,{"type":84,"name":119,"callback":119,"priority":110,"file":64,"line":120},"jetpack_photon_skip_image",82,{"type":61,"name":122,"callback":122,"priority":110,"file":64,"line":123},"wpml_after_duplicate_attachment",84,{"type":61,"name":125,"callback":63,"file":64,"line":126},"woocommerce_product_import_before_process_item",86,{"type":61,"name":128,"callback":129,"file":64,"line":130},"pre_get_posts","search_exmage_url_when_import_product",88,{"type":61,"name":132,"callback":63,"file":64,"line":133},"woocommerce_product_import_inserted_product_object",91,{"type":61,"name":128,"callback":135,"priority":136,"file":64,"line":137},"filter_exmage_in_library_page",999,96,{"type":61,"name":80,"callback":139,"file":140,"line":141},"scripts","includes\\support.php",32,{"type":61,"name":77,"callback":143,"file":140,"line":14},"review_notice",{"type":61,"name":74,"callback":145,"file":140,"line":146},"hide_review_notice",34,{"type":61,"name":148,"callback":148,"priority":149,"file":140,"line":150},"admin_menu",9999,35,{"type":84,"name":152,"callback":152,"priority":110,"file":140,"line":153},"plugin_row_meta",37,{"type":61,"name":74,"callback":74,"priority":28,"file":140,"line":155},39,{"type":61,"name":157,"callback":158,"priority":13,"file":140,"line":159},"admin_bar_menu","add_toolbar",41,{"type":61,"name":77,"callback":161,"file":140,"line":162},"form_ads",52,{"type":61,"name":164,"callback":165,"file":140,"line":166},"admin_footer","deactivate_scripts",669,{"type":61,"name":157,"callback":168,"priority":169,"file":140,"line":170},"hide_toolbar_button",200,807,{"type":61,"name":77,"callback":172,"file":140,"line":173},"notice",953,{"type":84,"name":175,"callback":176,"file":177,"line":96},"cron_schedules","schedule_cron_healthcheck","includes\\wp-background-process.php",[179,184],{"action":180,"nopriv":181,"callback":182,"hasNonce":183,"hasCapCheck":183,"file":64,"line":54},"exmage_handle_url",false,"handle_url",true,{"action":185,"nopriv":181,"callback":186,"hasNonce":183,"hasCapCheck":183,"file":64,"line":187},"exmage_convert_external_image","convert_external_image",80,[],[],[],2,{"dangerousFunctions":193,"sqlUsage":194,"outputEscaping":197,"fileOperations":29,"externalRequests":200,"nonceChecks":201,"capabilityChecks":200,"bundledLibraries":202},[],{"prepared":195,"raw":29,"locations":196},8,[],{"escaped":198,"rawEcho":29,"locations":199},179,[],4,11,[],[204,222],{"entryPoint":205,"graph":206,"unsanitizedCount":29,"severity":221},"hide_notices (includes\\support.php:431)",{"nodes":207,"edges":219},[208,213],{"id":209,"type":210,"label":211,"file":140,"line":212},"n0","source","$_GET (x3)",445,{"id":214,"type":215,"label":216,"file":140,"line":217,"wp_function":218},"n1","sink","update_option() [Settings Manipulation]",449,"update_option",[220],{"from":209,"to":214,"sanitized":183},"low",{"entryPoint":223,"graph":224,"unsanitizedCount":29,"severity":221},"\u003Csupport> (includes\\support.php:0)",{"nodes":225,"edges":228},[226,227],{"id":209,"type":210,"label":211,"file":140,"line":212},{"id":214,"type":215,"label":216,"file":140,"line":217,"wp_function":218},[229],{"from":209,"to":214,"sanitized":183},{"summary":231,"deductions":232},"The 'exmage-wp-image-links' v1.1.1 plugin demonstrates several good security practices. The static analysis reveals no dangerous functions, 100% of SQL queries are prepared, and all identified outputs are properly escaped, indicating robust defensive coding in these areas. Furthermore, the plugin has no REST API routes, shortcodes, or cron events, and its two AJAX handlers are protected by authentication checks, resulting in zero unprotected entry points. Taint analysis also shows no flows with unsanitized paths, reinforcing the idea of safe data handling within the analyzed code. The plugin does not appear to perform file operations or include bundled libraries, further simplifying its security profile.\n\nHowever, a significant concern arises from the plugin's vulnerability history. It has a total of one known CVE, which was classified as high severity and related to Server-Side Request Forgery (SSRF). While this vulnerability is currently unpatched according to the data, its last occurrence was in April 2022, which might suggest it has since been addressed or is no longer relevant for this specific version if the CVE applies to older versions. The presence of a high-severity SSRF vulnerability in its history, even if resolved or historical, warrants caution. The plugin also makes four external HTTP requests, which, combined with the historical SSRF, presents a potential attack vector if not handled with extreme care, especially if these requests are dynamic or user-influenced.\n\nIn conclusion, 'exmage-wp-image-links' v1.1.1 exhibits strong internal code security with prepared SQL, proper output escaping, and protected entry points. The absence of critical taint flows and dangerous functions is commendable. The primary weakness lies in its historical high-severity SSRF vulnerability. While the plugin has no currently unpatched CVEs, the nature of SSRF vulnerabilities necessitates careful consideration, especially given the presence of external HTTP requests. Users should verify that the high-severity vulnerability is indeed patched or not applicable to v1.1.1 before deployment.",[233,236],{"reason":234,"points":235},"Historical high severity CVE (SSRF)",18,{"reason":237,"points":200},"External HTTP requests present","2026-03-16T17:58:34.558Z",{"wat":240,"direct":261},{"assetPaths":241,"generatorPatterns":250,"scriptPaths":251,"versionParams":252},[242,243,244,245,246,247,248,249],"\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fjs\u002Fupload.js","\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fjs\u002Fmedia-gallery.js","\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url.js","\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-admin.js","\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-upload.js","\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-media-gallery.js","\u002Fwp-content\u002Fplugins\u002Fexmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-media-gallery-admin.js",[],[243,244,245,246,247,248,249],[253,254,255,256,257,258,259,260],"exmage-wp-image-links\u002Fassets\u002Fcss\u002Fadmin.css?ver=","exmage-wp-image-links\u002Fassets\u002Fjs\u002Fupload.js?ver=","exmage-wp-image-links\u002Fassets\u002Fjs\u002Fmedia-gallery.js?ver=","exmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url.js?ver=","exmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-admin.js?ver=","exmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-upload.js?ver=","exmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-media-gallery.js?ver=","exmage-wp-image-links\u002Fassets\u002Fjs\u002Fimage-external-url-media-gallery-admin.js?ver=",{"cssClasses":262,"htmlComments":273,"htmlAttributes":289,"restEndpoints":293,"jsGlobals":294,"shortcodeOutput":300},[263,264,265,266,267,268,269,270,271,272],"exmage-external-url-wrapper","exmage-external-url-input","exmage-external-url-button","exmage-media-gallery-wrapper","exmage-media-gallery-item","exmage-media-gallery-image","exmage-media-gallery-title","exmage-media-gallery-actions","exmage-media-gallery-download-button","exmage-media-gallery-remove-button",[274,275,276,277,278,279,280,281,282,283,284,285,285,286,286,287,287,288,288,288,288],"\u003C!-- Short link to Add new media -->","\u003C!-- wp.media -->","\u003C!-- External URL column in Media library\u002Fmode=list -->","\u003C!-- Return error when saving external image -->","\u003C!-- Filter attachment url and image source set -->","\u003C!-- Ajax add image from URLs -->","\u003C!-- Ajax store external images to server -->","\u003C!-- Jetpack - Photon CDN -->","\u003C!-- WPML -->","\u003C!-- Filter exmage -->","\u003C!-- Show status of background processing -->","\u003C!-- translators: %s: url left in the queue -->","\u003C!-- IMPORTANT: We MUST remove this action, if we want to have the capability to search for exmage urls when importing products. -->","\u003C!--IMPORTANT: we must remove this action if we want to have the capability to search for exmage URLs when importing products.-->","\u003C!-- IMPORTANT: THIS MUST BE REMOVED IN THE ADMIN, IN ORDER TO FIND THE `attachment_fields_to_edit` FUNCTION TO EDIT THE PROPERTIES OF THE ATTACHMENT. -->",[290,291,292],"data-exmage-external-url","data-exmage-imported","data-exmage-filter",[],[295,296,297,298,299],"EXMAGE_WP_IMAGE_LINKS_VERSION","EXMAGE_WP_IMAGE_LINKS_DIR","EXMAGE_WP_IMAGE_LINKS_INCLUDES","EXMAGE_WP_IMAGE_LINKS_AJAX_URL","EXMAGE_WP_IMAGE_LINKS_NONCE",[]]