{"id":54617,"date":"2017-02-27T03:31:03","date_gmt":"2017-02-27T03:31:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/lh-cache-remote-images\/"},"modified":"2026-08-01T15:35:43","modified_gmt":"2026-08-01T15:35:43","slug":"lh-cache-remote-images","status":"publish","type":"plugin","link":"https:\/\/tl.wordpress.org\/plugins\/lh-cache-remote-images\/","author":2531614,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.11","stable_tag":"1.11","tested":"7.0.2","requires":"5.8.1","requires_php":"","requires_plugins":null,"header_name":"LH Cache Remote Images","header_author":"Peter Shaw","header_description":"","assets_banners_color":"a7d5f7","last_updated":"2026-08-01 15:35:43","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/lhero.org\/portfolio\/lh-cache-remote-images\/","header_plugin_uri":"https:\/\/lhero.org\/portfolio\/lh-cache-remote-images\/","header_author_uri":"https:\/\/shawfactor.com","rating":0,"author_block_rating":0,"active_installs":10,"downloads":2377,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.10":{"tag":"1.10","author":"shawfactor","date":"2026-08-01 15:18:19"},"1.11":{"tag":"1.11","author":"shawfactor","date":"2026-08-01 15:35:43"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":0},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3631100,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3631100,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3631100,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.10","1.11"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[8356,8355,8353,84,25065],"plugin_category":[50],"plugin_contributors":[83584],"plugin_business_model":[],"class_list":["post-54617","plugin","type-plugin","status-publish","hentry","plugin_tags-auto-save-images","plugin_tags-cache-images","plugin_tags-image-archive","plugin_tags-media","plugin_tags-remote-images","plugin_category-media","plugin_contributors-shawfactor","plugin_committers-shawfactor"],"banners":{"banner":"https:\/\/ps.w.org\/lh-cache-remote-images\/assets\/banner-772x250.jpg?rev=3631100","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lh-cache-remote-images\/assets\/icon-128x128.png?rev=3631100","icon_2x":"https:\/\/ps.w.org\/lh-cache-remote-images\/assets\/icon-256x256.png?rev=3631100","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>LH Cache Remote Images allows you to scan a post, page, or cpt to fetch remote images; then updates its content.<\/p>\n\n<p>Unlike other similar plugins this plugin adds the images and updates post_content asynchronously. Thus ensuring the publishing experience is not slowed down.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Thanks to Philipp Beick for responsibly disclosing an SSRF and unsafe-SQL-construction issue affecting version 1.04, addressed in 1.10.<\/p>\n\n<!--section=installation-->\n<p>Install using WordPress:<\/p>\n\n<ol>\n<li>Log in and go to <em>Plugins<\/em> and click on <em>Add New<\/em>.<\/li>\n<li>Search for <em>LH Cache Remote Images<\/em> and hit the <em>Install Now<\/em> link in the results. WordPress will install it.<\/li>\n<li>That is it<\/li>\n<\/ol>\n\n<!--section=faq-->\n<p>Q: Will it archive the images which are already hosted on my blog ?\nA: No, only the external images.<\/p>\n\n<!--section=changelog-->\n<p>Full version history is maintained in CHANGELOG.md. Recent versions:<\/p>\n\n<p><strong>1.11 August 1, 2026<\/strong>\nWordPress Plugin Check compliance pass: added License headers, corrected \"Requires at least\" to match the plugin's real minimum WordPress version (5.8.1), removed a stale Domain Path pointing at a nonexistent languages folder, escaped debug output, removed a dead unused method calling a nonexistent function, added a missing direct-file-access guard, added missing text-domain arguments, and replaced discouraged parse_url()\/unlink() calls with their WordPress-API equivalents.<\/p>\n\n<p><strong>1.10 July 31, 2026<\/strong>\nSecurity fixes for an SSRF vulnerability and unsafe SQL construction responsibly disclosed by Philipp Beick, plus an additional related SSRF bypass and host-matching bypass found during review; removed unused bundled taxonomy library; added plugin_version() identity method. (Versioned 1.10, not 1.1.0, because WordPress's version comparison was treating the legacy 1.04 as newer than 1.1.0.)<\/p>\n\n<p><strong>1.04 October 08, 2017<\/strong>\nUpdated lh-copy-from-url-class.php<\/p>\n\n<p><strong>1.03 September 10, 2017<\/strong>\nCheck posttype is public<\/p>","raw_excerpt":"LH Cache Remote Images allows you to scan a post to fetch remote images; then updates its content automatically.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/54617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=54617"}],"author":[{"embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shawfactor"}],"wp:attachment":[{"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=54617"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=54617"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=54617"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=54617"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=54617"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=54617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}