WordPress.Security.EscapeOutput.OutputNotEscaped
Output is not escaped
Dynamic data is printed to the page without an escaping function for the output context.
Why It Shows Up
WordPress Coding Standards detected a variable, option, request value, or function result reaching HTML output without a nearby escaping call.
Why It Matters
Unescaped output can become cross-site scripting when attackers control any part of the value being printed.
How to Fix
- Use `esc_html()` for plain text, `esc_attr()` for attributes, and `esc_url()` for URLs.
- Use `wp_kses()` or `wp_kses_post()` when limited HTML is intentionally allowed.
- Escape as late as possible, right before output, so the selected escaping function matches the final context.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1051 | VikBooking Hotel Booking Engine & PMS | 25 | 13,251 | 8,316 | 8k+ | Output is not escaped | ||
| #1052 | VikRentCar Car Rental Management System | 25 | 5,537 | 5,048 | 4k+ | Non-prefixed global variable | ||
| #1053 | VikRestaurants Table Reservations and Take-Away | 25 | 11,644 | 4,932 | 600 | Output is not escaped | ||
| #1054 | 3D viewer by Visody | 25 | 832 | 1,322 | 1k+ | Non-prefixed global variable | ||
| #1055 | WC Disable Zoom / Lightbox features | 25 | 529 | 1,297 | 700 | Non-prefixed global variable | ||
| #1056 | Product Customer List for WooCommerce | 25 | 610 | 1,334 | 9k+ | Non-prefixed global variable | ||
| #1057 | Webcomic | 25 | 593 | 308 | 600 | Output is not escaped | ||
| #1058 | weDocs: AI Powered Knowledge Base, Docs, Documentation, Wiki & AI Chatbot | 25 | 279 | 518 | 4k+ | Non-prefixed global variable | ||
| #1059 | weForms – Easy Drag & Drop Contact Form Builder For WordPress | 25 | 916 | 450 | 10k+ | Output is not escaped | ||
| #1060 | Advanced Shipment Tracking for WooCommerce | 25 | 499 | 704 | 60k+ | Non-prefixed global variable | ||
| #1061 | Secure Gateway for Authorize.net and WooCommerce by Pledged Plugins | 25 | 907 | 1,418 | 10k+ | Non-prefixed global variable | ||
| #1062 | Digital Goods (Checkout Field Editor) for WooCommerce Checkout | 25 | 539 | 1,479 | 3k+ | Non-prefixed global variable | ||
| #1063 | Dynamic Pricing and Discount Rules for WooCommerce | 25 | 531 | 1,569 | 600 | Non-prefixed global variable | ||
| #1064 | Flat Rate Shipping Method for WooCommerce | 25 | 1,242 | 1,778 | 5k+ | Non-prefixed global variable | ||
| #1065 | WFatture for WooCommerce Fattureincloud | 25 | 229 | 774 | 800 | Non-prefixed global variable | ||
| #1066 | XT Floating Cart for WooCommerce | 25 | 1,232 | 1,985 | 4k+ | Non-prefixed global variable | ||
| #1067 | PDF Builder for WooCommerce. Create invoices,packing slips and more | 25 | 372 | 503 | 2k+ | Non-prefixed global variable | ||
| #1068 | Product Table for WooCommerce | 25 | 183 | 896 | 5k+ | Non-prefixed global variable | ||
| #1069 | Payment Plugins for Stripe WooCommerce | 25 | 349 | 779 | 100k+ | Non-prefixed global variable | ||
| #1070 | Pay with Vipps and MobilePay for WooCommerce | 25 | 846 | 514 | 5k+ | Output is not escaped | ||
| #1071 | Wordfence Login Security | 25 | 248 | 418 | 60k+ | Output is not escaped | ||
| #1072 | WordPress Importer | 25 | 238 | 110 | 2m+ | Output is not escaped | ||
| #1073 | WP 2FA – Two-factor authentication for WordPress | 25 | 283 | 716 | 100k+ | Non-prefixed global variable | ||
| #1074 | WP Airbnb Review Slider | 25 | 325 | 646 | 1k+ | Non-prefixed global variable | ||
| #1075 | Super Page Cache – Cloudflare Cache, Page Speed & Core Web Vitals | 25 | 143 | 357 | 60k+ | Input is not sanitized | ||
| #1076 | Comments Extra Fields For Post,Pages and CPT | 25 | 577 | 418 | 500 | Text Domain Mismatch | ||
| #1077 | WP Coupons and Deals – WordPress Coupon Plugin | 25 | 914 | 1,460 | 1k+ | Non-prefixed global variable | ||
| #1078 | WP-DownloadManager | 25 | 607 | 508 | 3k+ | Unsafe printing function | ||
| #1079 | WP Review Slider | 25 | 1,186 | 2,279 | 6k+ | Non-prefixed global variable | ||
| #1080 | WP Go Maps – Google Map, OpenStreetMap, Leaflet Map | 25 | 4,996 | 1,008 | 300k+ | Unsafe printing function | ||
| #1081 | WP Google Review Slider | 25 | 1,366 | 2,584 | 30k+ | Non-prefixed global variable | ||
| #1082 | WP Encryption – No.1 HTTPS plugin & One Click Free SSL Cert, HTTPS Redirect, SSL Security | 25 | 875 | 1,764 | 50k+ | Non-prefixed global variable | ||
| #1083 | Nested Pages | 25 | 674 | 560 | 90k+ | Non-prefixed global variable | ||
| #1084 | WP-Polls | 25 | 618 | 639 | 40k+ | Unsafe printing function | ||
| #1085 | WP Popups – WordPress Popup builder | 25 | 440 | 342 | 30k+ | Output is not escaped | ||
| #1086 | Perfect Images: Regenerate Thumbnails, Image Sizes, WebP & AVIF | 25 | 158 | 118 | 60k+ | Non-prefixed global variable | ||
| #1087 | SlimStat Analytics | 25 | 1,177 | 870 | 70k+ | Exception output is not escaped | ||
| #1088 | Smush – Image Optimization, Compression, Lazy Load, WebP & CDN | 25 | 244 | 568 | 1m+ | Non-prefixed hook name | ||
| #1089 | Wp Social Login and Register Social Counter | 25 | 80 | 738 | 90k+ | Non-prefixed global variable | ||
| #1090 | WP Statistics – Simple, privacy-friendly Google Analytics alternative | 25 | 610 | 2,465 | 600k+ | Non-prefixed global variable | ||
| #1091 | WP Super Cache | 25 | 800 | 989 | 1m+ | Output is not escaped | ||
| #1092 | WP Time Slots Booking Form | 25 | 439 | 1,137 | 1k+ | Non-prefixed global variable | ||
| #1093 | WP TripAdvisor Review Slider | 25 | 1,063 | 2,582 | 8k+ | Non-prefixed global variable | ||
| #1094 | WP Yelp Review Slider | 25 | 600 | 1,086 | 1k+ | Non-prefixed global variable | ||
| #1095 | WPCargo Track & Trace | 25 | 239 | 557 | 10k+ | Non-prefixed global variable | ||
| #1096 | Team Members Showcase | 25 | 591 | 1,494 | 4k+ | Non-prefixed global variable | ||
| #1097 | WPvivid Backup for MainWP | 25 | 818 | 1,794 | 10k+ | Missing nonce verification | ||
| #1098 | WPvivid — Backup, Migration & Staging | 25 | 900 | 1,461 | 900k+ | Non-prefixed namespace | ||
| #1099 | Backup, Restore and Migrate your sites with XCloner | 25 | 238 | 864 | 10k+ | Input is not sanitized | ||
| #1100 | XT Quick View for WooCommerce | 25 | 1,062 | 1,798 | 400 | Non-prefixed global variable |