WordPress.WP.AlternativeFunctions.file_system_operations_mkdir
file system operations mkdir
The plugin performs filesystem work with raw PHP functions where WordPress expects safer filesystem handling.
Why It Shows Up
Plugin Check found functions such as `fopen`, `fwrite`, `chmod`, `mkdir`, `readfile`, or related operations.
Why It Matters
WordPress sites can use different filesystem permissions and transports. Raw filesystem calls can fail on common hosts or write to unsafe locations.
How to Fix
- Use WordPress filesystem helpers when writing, reading, or changing files in plugin-managed paths.
- Validate paths and keep writes inside directories owned by the plugin or WordPress uploads.
- Never write PHP code from user input or remote responses.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1 | BulletProof Security | 0 | 5,048 | 4,949 | 20k+ | Output is not escaped | ||
| #2 | Intercom | 0 | 60 | 71 | 6k+ | Non-prefixed function | ||
| #3 | Live Shopping & Shoppable Videos For WooCommerce | 0 | 79 | 174 | 400 | Non-prefixed global variable | ||
| #4 | Plugin Check (PCP) | 0 | 128 | 140 | 10k+ | Non-prefixed global variable | ||
| #5 | Themify Builder | 9 | 5,334 | 2,171 | 5k+ | Text Domain Mismatch | ||
| #6 | JetBackup – Backup, Restore & Migrate | 10 | 1,567 | 156 | 200k+ | Exception output is not escaped | ||
| #7 | 404 Solution | 15 | 582 | 1,532 | 10k+ | Non-prefixed class | ||
| #8 | AnyComment | 17 | 445 | 449 | 5k+ | Output is not escaped | ||
| #9 | Efí Bank | 17 | 886 | 553 | 300 | Exception output is not escaped | ||
| #10 | Administrator Z | 18 | 2,061 | 799 | 400 | Output is not escaped | ||
| #11 | Advanced File Manager – Ultimate File Manager for WordPress And Document Library Solution | 18 | 1,229 | 923 | 100k+ | Exception output is not escaped | ||
| #12 | Shopping Cart & eCommerce Store | 18 | 8,240 | 18,478 | 3k+ | Non-prefixed global variable | ||
| #13 | Matomo Analytics – Powerful, Privacy-First Insights for WordPress | 19 | 1,993 | 892 | 100k+ | Exception output is not escaped | ||
| #14 | Really Simple Security – Simple and Performant Security (formerly Really Simple SSL) | 19 | 530 | 375 | 3m+ | Missing Translators Comment | ||
| #15 | WP Directory Kit | 19 | 1,502 | 2,641 | 2k+ | Non-prefixed global variable | ||
| #16 | Brizy – Page Builder | 20 | 585 | 726 | 60k+ | Output is not escaped | ||
| #17 | Broadstreet | 20 | 434 | 273 | 800 | Output is not escaped | ||
| #18 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 20 | 2,874 | 1,988 | 1m+ | Non-prefixed global variable | ||
| #19 | EventPrime – Events Calendar, Bookings, Tickets & AI | 20 | 846 | 4,224 | 7k+ | Non-prefixed global variable | ||
| #20 | MBE eShip | 20 | 527 | 740 | 1k+ | Non-prefixed global variable | ||
| #21 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | Non-prefixed global variable | ||
| #22 | Pix por Piggly (para Woocommerce) | 20 | 547 | 195 | 4k+ | Exception output is not escaped | ||
| #23 | Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score | 20 | 147 | 231 | 3k+ | Exception output is not escaped | ||
| #24 | Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF | 20 | 556 | 543 | 100k+ | Output is not escaped | ||
| #25 | Booster for WooCommerce – PDF Invoices, Abandoned Cart, Variation Swatches & 100+ Tools | 20 | 787 | 3,416 | 30k+ | Non-prefixed global variable | ||
| #26 | WP Compress – Instant Performance & Speed Optimization | 20 | 4,292 | 3,691 | 10k+ | Non Singular String Literal Domain | ||
| #27 | Backup Migration | 21 | 999 | 1,081 | 80k+ | Non-prefixed global variable | ||
| #28 | Kadence Security – Password, Two Factor Authentication, and Brute Force Protection | 21 | 1,060 | 959 | 700k+ | Missing Translators Comment | ||
| #29 | Captcha Them All | 21 | 300 | 323 | 5k+ | Output is not escaped | ||
| #30 | Spam protection, Honeypot, Anti-Spam by CleanTalk | 21 | 835 | 1,146 | 200k+ | Missing nonce verification | ||
| #31 | Comet Cache | 21 | 857 | 245 | 20k+ | Output is not escaped | ||
| #32 | DELUCKS SEO | 21 | 362 | 1,171 | 300 | Missing nonce verification | ||
| #33 | FileOrganizer – WordPress File Manager | 21 | 549 | 261 | 200k+ | unlink unlink | ||
| #34 | Filter Everything — WordPress & WooCommerce Filters | 21 | 634 | 943 | 50k+ | Non-prefixed global variable | ||
| #35 | Campaign Monitor for WordPress | 21 | 386 | 461 | 2k+ | Non-prefixed global variable | ||
| #36 | Link Library | 21 | 1,932 | 1,387 | 10k+ | Unsafe printing function | ||
| #37 | Mergado Pack | 21 | 2,323 | 588 | 700 | Output is not escaped | ||
| #38 | Modular DS: Monitor, update, and backup multiple websites | 21 | 199 | 82 | 40k+ | Exception output is not escaped | ||
| #39 | MultiParcels Shipping For WooCommerce | 21 | 245 | 426 | 4k+ | Request data is not unslashed | ||
| #40 | Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred | 21 | 1,436 | 3,345 | 10k+ | Non-prefixed global variable | ||
| #41 | Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction | 21 | 1,994 | 5,331 | 10k+ | Non-prefixed hook name | ||
| #42 | User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor | 21 | 739 | 1,495 | 40k+ | Non-prefixed global variable | ||
| #43 | SeatReg | 21 | 350 | 1,842 | 300 | Missing nonce verification | ||
| #44 | Smart Forms – when you need more than just a contact form | 21 | 776 | 574 | 5k+ | Output is not escaped | ||
| #45 | UPC/EAN/GTIN Barcode Generator/Importer | 21 | 776 | 311 | 500 | Exception output is not escaped | ||
| #46 | Buckaroo Payments for WooCommerce | 21 | 692 | 351 | 2k+ | Exception output is not escaped | ||
| #47 | WebP Express | 21 | 160 | 427 | 300k+ | Non-prefixed global variable | ||
| #48 | Wise Chat | 21 | 470 | 515 | 5k+ | Output is not escaped | ||
| #49 | Razorpay for WooCommerce | 21 | 980 | 864 | 100k+ | Non-prefixed function | ||
| #50 | Wordfence Security – Firewall, Malware Scan, and Login Security | 21 | 1,893 | 3,292 | 5m+ | Output is not escaped |