Async JavaScript Security & Risk Analysis

wordpress.org/plugins/async-javascript

Async Javascript lets you add 'async' or 'defer' attribute to scripts to exclude to help increase the performance of your WordPres …

80K active installs v2.21.08.31 PHP + WP 4.6+ Updated Jun 22, 2023
asyncjavascriptpagespeedperformancerender-blocking
84
B · Generally Safe
CVEs total2
Unpatched0
Last CVEJun 13, 2021
Safety Verdict

Is Async JavaScript Safe to Use in 2026?

Mostly Safe

Score 84/100

Async JavaScript is generally safe to use though it hasn't been updated recently. 2 past CVEs were resolved. Keep it updated.

2 known CVEsLast CVE: Jun 13, 2021Updated 2yr ago
Risk Assessment

The 'async-javascript' plugin version 2.21.08.31 presents a mixed security posture. While the static analysis reveals a generally low number of critical code-level vulnerabilities, with no identified critical or high severity taint flows and a good percentage of SQL queries utilizing prepared statements, there are notable concerns. The presence of an unprotected AJAX handler significantly increases the attack surface, as it lacks authentication checks, making it a potential entry point for unauthorized actions. Furthermore, the output escaping is only properly implemented in 43% of cases, which could lead to Cross-Site Scripting (XSS) vulnerabilities if user-supplied data is not handled carefully. The vulnerability history indicates two past medium severity CVEs, both related to Cross-Site Scripting, and while currently unpatched, this pattern suggests a recurring susceptibility to injection attacks. In conclusion, the plugin shows some good practices like using prepared statements and nonce checks, but the unprotected AJAX endpoint and insufficient output escaping, coupled with a history of XSS vulnerabilities, warrant careful consideration and mitigation.

Key Concerns

  • Unprotected AJAX handler found
  • Output escaping only 43% proper
  • Two past medium CVEs (XSS)
Vulnerabilities
2

Async JavaScript Security Vulnerabilities

CVEs by Year

1 CVE in 2020
2020
1 CVE in 2021
2021
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

WF-d0586453-76ec-4ec9-9965-780af7cb31ec-async-javascriptmedium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Async Javascript <= 2.20.12.09 - Authenticated (Admin+) Cross-Site Scripting

Jun 13, 2021 Patched in 2.21.06.29 (954d)
CVE-2020-36854medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Async JavaScript <= 2.19.07.14 - Authenticated (Subscriber+) Stored Cross-Site Scripting

Feb 27, 2020 Patched in 2.20.02.27 (2060d)
Code Analysis
Analyzed Mar 16, 2026

Async JavaScript Code Analysis

Dangerous Functions
0
Raw SQL Queries
1
6 prepared
Unescaped Output
69
53 escaped
Nonce Checks
1
Capability Checks
3
File Operations
1
External Requests
0
Bundled Libraries
1

Bundled Libraries

jQuery

SQL Query Safety

86% prepared7 total queries

Output Escaping

43% escaped122 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<asyncjsAllAjax> (asyncjsAllAjax.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

Async JavaScript Attack Surface

Entry Points1
Unprotected1

AJAX Handlers 1

authwp_ajax_aj_stepsasyncjsBackendClass.php:167
WordPress Hooks 8
actionplugins_loadedasyncjsBackendClass.php:23
actionadmin_initasyncjsBackendClass.php:24
actionwp_dashboard_setupasyncjsBackendClass.php:164
actionwp_dashboard_setupasyncjsBackendClass.php:165
actionadmin_menuasyncjsBackendClass.php:166
actionadmin_noticesasyncjsBackendClass.php:168
filterscript_loader_tagasyncjsFrontendClass.php:12
filterautoptimize_filter_js_deferasyncjsFrontendClass.php:13
Maintenance & Trust

Async JavaScript Maintenance & Trust

Maintenance Signals

WordPress version tested6.2.9
Last updatedJun 22, 2023
PHP min version
Downloads2.0M

Community Trust

Rating94/100
Number of ratings102
Active installs80K
Developer Profile

Async JavaScript Developer Profile

David Clough

2 plugins · 80K total installs

69
trust score
Avg Security Score
85/100
Avg Patch Time
1507 days
View full developer profile
Detection Fingerprints

How We Detect Async JavaScript

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/async-javascript/css/admin.min.css/wp-content/plugins/async-javascript/js/admin.min.js
Script Paths
/wp-content/plugins/async-javascript/assets/lib/chosen/chosen.jquery.min.js/wp-content/plugins/async-javascript/js/admin.min.js
Version Parameters
async-javascript/css/admin.min.css?ver=async-javascript/js/admin.min.js?ver=

HTML / DOM Fingerprints

CSS Classes
aj_admin_styles
HTML Comments
<!--AJAX OPTIONS-->
Data Attributes
data-suffix
JS Globals
aj_localize_admin
FAQ

Frequently Asked Questions about Async JavaScript