USGS River Data Security & Risk Analysis

wordpress.org/plugins/usgs-river-data

Enter the USGS Station ID and this plugin provides you with river name, currently water level, graph and station url via a widget or shortcode.

10 active installs v1.21 PHP + WP 3.0+ Updated Unknown
riverusgswater-level
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is USGS River Data Safe to Use in 2026?

Generally Safe

Score 100/100

USGS River Data has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs
Risk Assessment

The usgs-river-data plugin v1.21 exhibits a mixed security posture. On the positive side, it demonstrates good practices by exclusively using prepared statements for SQL queries and having no file operations or external HTTP requests that could be exploited. The absence of known CVEs and a history of vulnerabilities is also a strong indicator of past security efforts or a lack of significant discovered issues.

However, several significant concerns are raised by the static analysis. The presence of the `unserialize` function is a critical risk, as it can lead to Remote Code Execution (RCE) if an attacker can control the serialized data passed to it. Compounding this risk is the complete absence of nonce checks and capability checks on all identified entry points, including the 7 shortcodes. This means any user, authenticated or not, could potentially trigger functionality that might utilize the dangerous `unserialize` function. The low percentage of properly escaped output (19%) also indicates a high risk of Cross-Site Scripting (XSS) vulnerabilities across the plugin's functionalities.

Overall, while the plugin has a clean vulnerability history and good SQL handling, the identified `unserialize` function coupled with the lack of any input validation (nonces, capabilities) on its entry points and poor output escaping creates a substantial risk profile. The lack of taint analysis data is also a gap, though the identified code signals provide enough concerning elements for a thorough risk assessment.

Key Concerns

  • Dangerous function unserialize present
  • No nonce checks on entry points
  • No capability checks on entry points
  • Low output escaping percentage (19%)
Vulnerabilities
None known

USGS River Data Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

USGS River Data Code Analysis

Dangerous Functions
1
Raw SQL Queries
0
0 prepared
Unescaped Output
39
9 escaped
Nonce Checks
0
Capability Checks
0
File Operations
0
External Requests
1
Bundled Libraries
0

Dangerous Functions Found

unserialize$riverCache = unserialize($riverCache);river_functions.php:83

Output Escaping

19% escaped48 total outputs
Attack Surface

USGS River Data Attack Surface

Entry Points7
Unprotected0

Shortcodes 7

[river] river_shortcode.php:13
[river_name] river_shortcode.php:50
[river_level] river_shortcode.php:65
[river_gage] river_shortcode.php:80
[river_station] river_shortcode.php:95
[river_graph] river_shortcode.php:110
[river_gage_graph] river_shortcode.php:125
WordPress Hooks 7
actionadd_meta_boxesriver_custom_meta.php:4
actionadd_meta_boxesriver_custom_meta.php:5
actionsave_postriver_custom_meta.php:46
actionwp_enqueue_scriptsriver_data.php:28
actionadmin_menuriver_options.php:4
actionadmin_initriver_options.php:27
actionwidgets_initriver_widget.php:4
Maintenance & Trust

USGS River Data Maintenance & Trust

Maintenance Signals

WordPress version tested3.7.41
Last updatedUnknown
PHP min version
Downloads2K

Community Trust

Rating90/100
Number of ratings4
Active installs10
Developer Profile

USGS River Data Developer Profile

J. Tyler Wiest

1 plugin · 10 total installs

94
trust score
Avg Security Score
100/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect USGS River Data

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/usgs-river-data/css/styles.css

HTML / DOM Fingerprints

CSS Classes
river_meta_boxid_text_box
Data Attributes
id="river_usgs_num"name="riv_id"
Shortcode Output
[river [river_name [river_level [river_gage
FAQ

Frequently Asked Questions about USGS River Data