WordPress.WP.AlternativeFunctions.curl_curl_exec

curl curl exec

The plugin uses raw cURL functions instead of the WordPress HTTP API.

medium weight

Why It Shows Up

Plugin Check found `curl_*` calls in plugin code.

Why It Matters

The WordPress HTTP API handles transports, proxies, SSL behavior, filters, and host compatibility more consistently than raw cURL.

How to Fix

  • Replace simple cURL requests with `wp_remote_get()` or `wp_remote_post()`.
  • Handle `WP_Error`, status codes, timeouts, and response body parsing explicitly.
  • If a bundled library uses cURL internally, keep it isolated and avoid passing unchecked user input into requests.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#551RDP Wiki Embed386926400Output is not escaped
#552TWIPLA (Visitor Analytics IO) – Privacy-First Website Stats, Session Recordings, Heatmaps, Polls and Surveys387149900Output is not escaped
#553WC-AC Hook3844721k+Missing nonce verification
#554External Store for Shopify3897332k+Output is not escaped
#555Benchmark Email Lite3986231k+Output is not escaped
#556GF Mollie by Indigo398233900Exception output is not escaped
#557Leaflet Map39593230k+Output is not escaped
#558linkPizza-Manager394623700Exception output is not escaped
#559MailChimp Add-On for FormCraft395629800curl curl setopt
#560Virusdie | One-click website security39149662k+Output is not escaped
#561Advanced IP Blocker4094432k+Exception output is not escaped
#562WP All Import – Listings Import for Listify403427400Output is not escaped
#563WP All Import – Job Listing Import for WP Job Manager4035272k+Output is not escaped
#564Heroic Favicon Generator4110476k+Output is not escaped
#565PAYDUNYA WOOCOMMERCE PAR425432600Text Domain Mismatch
#566WC Speed Repair4234741k+Non-prefixed global variable
#567Custom Menu438311400wp function not compatible with requires wp
#568Good Old Twitter Feed Widget4311010400Text Domain Mismatch
#569Trusty Whistleblowing Solution4423416400Text Domain Mismatch
#570WPKoi Templates for Elementor44937255k+Text Domain Mismatch
#571Gateway zibal for Woocommerce4470246k+Text Domain Mismatch
#572reCAPTCHA for Asgaros Forum4521364k+Input is not validated
#573Simple Membership MailChimp Integration4534271k+curl curl setopt
#574Export Import Menus46232810k+Missing nonce verification
#575Gateway AqayePardakht for Woocommerce4772234k+Text Domain Mismatch
#576KCSG Kartra Pages473016500Heredoc Output Not Escaped
#577WC Provincia Canton Distrito48103141k+Text Domain Mismatch
#578Instamojo for WooCommerce4872445k+Text Domain Mismatch
#579Sitemap Generator5060263k+Output is not escaped
#580Veeqo for WooCommerce503017700Missing direct file access protection
#581Menu Icons by Themeisle – Add Icons to Navigation Menus513422100k+Output is not escaped
#582Mintpay511435600Nonce verification recommended
#583POLi Payments for WooCommerce516226500Text Domain Mismatch
#584Yeloni Exit Popup | (Free) GDPR Compliance544112700Output is not escaped
#585AI Copilot – ChatGPT Chatbot & AI Engine for Post Automation5665201k+Text Domain Mismatch
#586Fluent Connect – Connect ThriveCart with your WordPress and FluentCRM563754600curl curl setopt
#587JSON API User5717341k+Non-prefixed hook name
#588Payment Gateway for LiqPay for Woocommerce5984311k+Text Domain Mismatch
#589HelloAsso60132894k+Short PHP open tag found
#590Topic SEO Content Optimization Tool6235151k+curl curl close
#591Satispay for WooCommerce6219127k+Exception output is not escaped
#592XPoster – Share to Bluesky and Mastodon62263610k+Missing nonce verification
#593Werk aan de Muur644820900Non Singular String Literal Domain
#594Bitrix24652810500Text Domain Mismatch
#595Affiliates Manager Google reCAPTCHA Integration671810400Request data is not unslashed
#596VWE – Voorheen Autodealers.nl692310500curl curl setopt
#597Custom Currency for WooCommerce706352k+Missing direct file access protection
#598Web Accessibility with Max Access712211800curl curl setopt
#599Visual Bible Verse of the Day Widget712711k+Output is not escaped
#600WP All Import – Property Import for RealHomes741712700Output is not escaped