onOffice for WP-Websites Security & Risk Analysis

wordpress.org/plugins/onoffice-for-wp-websites

Integrate real estates, contact forms and contact persons from the onOffice Software into your WordPress website.

1K active installs v6.14 PHP 8.2+ WP 6.1+ Updated May 21, 2026
onofficereal-estate
97
A · Safe
CVEs total3
Unpatched0
Last CVEOct 14, 2025
Safety Verdict

Is onOffice for WP-Websites Safe to Use in 2026?

Generally Safe

Score 97/100

onOffice for WP-Websites has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

3 known CVEsLast CVE: Oct 14, 2025Updated 3mo ago
Risk Assessment

The 'onoffice-for-wp-websites' plugin v6.11 presents a mixed security posture. On the positive side, it demonstrates good practices in SQL query handling, with 88% using prepared statements, and a substantial portion of output (75%) is properly escaped. The plugin also implements a reasonable number of nonce and capability checks, and it has no currently unpatched known vulnerabilities. However, there are significant concerns regarding its attack surface and the presence of unsanitized data flows.

The static analysis reveals a concerning number of unprotected AJAX handlers (4 out of 6), creating potential entry points for attackers. The taint analysis highlights 6 flows with unsanitized paths, all categorized as high severity, indicating a risk of data manipulation or injection if these flows are not properly handled before reaching sensitive operations. The vulnerability history, while not showing unpatched critical or high severity issues, does reveal a pattern of past medium severity vulnerabilities related to missing authorization and SQL injection, suggesting recurring weaknesses in these areas.

In conclusion, while the plugin has strengths in its database interaction and output handling, the significant number of unprotected AJAX endpoints and critical taint flows are substantial security risks. The historical pattern of past vulnerabilities reinforces the need for vigilance regarding authorization and SQL injection. The plugin's overall security can be improved by addressing the unprotected entry points and thoroughly sanitizing all data flows, especially those identified by the taint analysis.

Key Concerns

  • Unprotected AJAX handlers
  • High severity unsanitized taint flows
  • Past SQL injection vulnerabilities
  • Past missing authorization vulnerabilities
  • Use of 'assert' dangerous function
  • Use of 'unserialize' dangerous function
Vulnerabilities
3 published

onOffice for WP-Websites Security Vulnerabilities

CVEs by Year

3 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
3

3 total CVEs

CVE-2025-10045medium · 4.9Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

onOffice for WP-Websites <= 6.5.1 - Authenticated (Editor+) SQL Injection

Oct 14, 2025 Patched in 6.10 (112d)
CVE-2025-30958medium · 4.3Missing Authorization

onOffice for WP-Websites <= 5.7 - Missing Authorization

Jun 5, 2025 Patched in 6.10 (244d)
CVE-2025-32127medium · 4.9Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

onOffice for WP-Websites <= 6.5 - Authenticated (Administrator+) SQL Injection

Apr 4, 2025 Patched in 6.5.1 (161d)
Code Analysis
Analyzed Mar 16, 2026

onOffice for WP-Websites Code Analysis

Dangerous Functions
2
Raw SQL Queries
16
122 prepared
Unescaped Output
249
767 escaped
Nonce Checks
19
Capability Checks
16
File Operations
3
External Requests
4
Bundled Libraries
1

Dangerous Functions Found

assertassert($pDataListView === $this->_pEstateUnitsConfiguration->getEstateList()->getDataView());plugin\EstateUnits.php:58
unserializereturn unserialize($resultCache);SDK\src\internal\ApiCall.php:595

Bundled Libraries

Select2

SQL Query Safety

88% prepared138 total queries

Output Escaping

75% escaped1016 total outputs
Data Flows · Security
6 unsanitized

Data Flow Analysis

12 flows6 with unsanitized paths
preOutput (plugin\Gui\AdminPageEstate.php:216)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

onOffice for WP-Websites Attack Surface

Entry Points6
Unprotected4

AJAX Handlers 6

authwp_ajax_check_captcha_dataplugin\Form\CaptchaDataChecker.php:41
authwp_ajax_check_captcha_enterprise_dataplugin\Form\CaptchaEnterpriseDataChecker.php:32
authwp_ajax_update_active_plugin_seo_optionplugin.php:580
authwp_ajax_update_duplicate_check_warning_optionplugin.php:581
authwp_ajax_delete_google_recaptcha_keysplugin.php:582
authwp_ajax_delete_google_recaptcha_enterprise_keysplugin.php:583
WordPress Hooks 76
actionadmin_noticesplugin\Controller\AdminViewController.php:167
actionadmin_noticesplugin\Controller\AdminViewController.php:168
actionadmin_noticesplugin\Controller\AdminViewController.php:169
actioncurrent_screenplugin\Controller\AdminViewController.php:202
actioncurrent_screenplugin\Controller\AdminViewController.php:213
actioncurrent_screenplugin\Controller\AdminViewController.php:220
actionadmin_initplugin\Controller\AdminViewController.php:252
filteroption_page_capability_onoffice-settingsplugin\Controller\AdminViewController.php:256
actioncurrent_screenplugin\Controller\AdminViewController.php:260
filterupdate_user_metadataplugin\Controller\AdminViewController.php:342
filterwp_link_pages_linkplugin\Controller\ContentFilter\ContentFilterShortCodeAddress.php:172
filterwp_link_pages_argsplugin\Controller\ContentFilter\ContentFilterShortCodeAddress.php:176
actionwp_headplugin\EstateList.php:822
actionwp_headplugin\EstateList.php:1350
filterwp_link_pages_linkplugin\Filter\SearchParameters\SearchParameters.php:134
filterwp_link_pages_argsplugin\Filter\SearchParameters\SearchParameters.php:137
actionadmin_noticesplugin\Gui\AdminPageAddress.php:200
filterhandle_bulk_actions-onoffice_page_onoffice-addressesplugin\Gui\AdminPageAddress.php:235
filterhandle_bulk_actions-onoffice_page_onoffice-addressesplugin\Gui\AdminPageAddress.php:256
actionadmin_noticesplugin\Gui\AdminPageAddressDetail.php:384
filterhandle_bulk_actions-table-onoffice_page_onoffice-addressesplugin\Gui\AdminPageAddressList.php:107
actionadmin_noticesplugin\Gui\AdminPageEstate.php:193
filterhandle_bulk_actions-onoffice_page_onoffice-estatesplugin\Gui\AdminPageEstate.php:240
filterhandle_bulk_actions-onoffice_page_onoffice-estatesplugin\Gui\AdminPageEstate.php:260
actionadmin_noticesplugin\Gui\AdminPageEstateDetail.php:556
filterhandle_bulk_actions-table-onoffice_page_onoffice-estatesplugin\Gui\AdminPageEstateList.php:136
filterhandle_bulk_actions-table-onoffice_page_onoffice-estatesplugin\Gui\AdminPageEstateUnitList.php:108
actionadmin_noticesplugin\Gui\AdminPageFormList.php:141
filterhandle_bulk_actions-onoffice_page_onoffice-formsplugin\Gui\AdminPageFormList.php:308
filterhandle_bulk_actions-table-onoffice_page_onoffice-formsplugin\Gui\AdminPageFormList.php:309
filterhandle_bulk_actions-onoffice_page_onoffice-formsplugin\Gui\AdminPageFormList.php:340
filterhandle_bulk_actions-table-onoffice_page_onoffice-formsplugin\Gui\AdminPageFormList.php:341
actionadmin_noticesplugin\Gui\AdminPageSettingsBase.php:137
actionadmin_noticesplugin\Gui\AdminPageSimilarEstates.php:390
filterlocaleplugin\Record\AddressIdRequestGuard.php:222
filterlocaleplugin\Record\EstateIdRequestGuard.php:215
actionwp_enqueue_scriptsplugin\ScriptLoader\ScriptLoaderRegistrator.php:62
actionwp_enqueue_scriptsplugin\ScriptLoader\ScriptLoaderRegistrator.php:66
actionsave_postplugin.php:89
actionwp_trash_postplugin.php:90
actionadmin_menuplugin.php:92
actionadmin_enqueue_scriptsplugin.php:93
actionadmin_headplugin.php:95
actioninitplugin.php:98
actioninitplugin.php:100
actionadmin_bar_menuplugin.php:102
actionadmin_initplugin.php:158
actionplugins_loadedplugin.php:188
actioninitplugin.php:192
actionwpplugin.php:204
actionadmin_enqueue_scriptsplugin.php:206
actionadmin_enqueue_scriptsplugin.php:207
actionoo_cache_renewplugin.php:208
actionadmin_noticesplugin.php:211
actioninitplugin.php:212
actionadmin_initplugin.php:215
actionadmin_initplugin.php:216
actionadmin_initplugin.php:217
actionadmin_initplugin.php:218
actionplugins_loadedplugin.php:219
filterget_post_metadataplugin.php:248
filterdocument_title_partsplugin.php:302
filterwpml_ls_language_urlplugin.php:363
filtercron_schedulesplugin.php:413
actionupdate_option_onoffice-settings-duration-cacheplugin.php:420
filterquery_varsplugin.php:431
actionparse_requestplugin.php:441
actionparse_requestplugin.php:461
actionparse_requestplugin.php:485
actionparse_requestplugin.php:502
actionparse_requestplugin.php:513
actionparse_requestplugin.php:521
filterset-screen-optionplugin.php:529
actionwpplugin.php:585
actionadmin_noticesplugin.php:592
filterscript_loader_tagplugin.php:602

Scheduled Events 3

oo_cache_renew
oo_cache_renew
oo_cache_renew
Maintenance & Trust

onOffice for WP-Websites Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.5
Last updatedMay 21, 2026
PHP min version8.2
Downloads41K

Community Trust

Rating20/100
Number of ratings3
Active installs1K
Developer Profile

onOffice for WP-Websites Developer Profile

onOffice GmbH

1 plugin · 1K total installs

77
trust score
Avg Security Score
97/100
Avg Patch Time
172 days
View full developer profile
Detection Fingerprints

How We Detect onOffice for WP-Websites

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/onoffice-for-wp-websites/build/app.css/wp-content/plugins/onoffice-for-wp-websites/build/app.js/wp-content/plugins/onoffice-for-wp-websites/build/admin.css/wp-content/plugins/onoffice-for-wp-websites/build/admin.js/wp-content/plugins/onoffice-for-wp-websites/build/vendors.css/wp-content/plugins/onoffice-for-wp-websites/build/vendors.js/wp-content/plugins/onoffice-for-wp-websites/build/vendors.css.map/wp-content/plugins/onoffice-for-wp-websites/build/vendors.js.map+15 more
Script Paths
/wp-content/plugins/onoffice-for-wp-websites/build/app.js/wp-content/plugins/onoffice-for-wp-websites/build/admin.js/wp-content/plugins/onoffice-for-wp-websites/build/vendors.js/wp-content/plugins/onoffice-for-wp-websites/resources/js/admin.js/wp-content/plugins/onoffice-for-wp-websites/resources/js/app.js/wp-content/plugins/onoffice-for-wp-websites/resources/vendors/js/vendors.js+2 more
Version Parameters
onoffice-for-wp-websites/build/app.css?ver=onoffice-for-wp-websites/build/app.js?ver=onoffice-for-wp-websites/build/admin.css?ver=onoffice-for-wp-websites/build/admin.js?ver=onoffice-for-wp-websites/build/vendors.css?ver=onoffice-for-wp-websites/build/vendors.js?ver=onoffice-for-wp-websites/resources/css/admin.css?ver=onoffice-for-wp-websites/resources/css/app.css?ver=onoffice-for-wp-websites/resources/js/admin.js?ver=onoffice-for-wp-websites/resources/js/app.js?ver=onoffice-for-wp-websites/resources/vendors/css/vendors.css?ver=onoffice-for-wp-websites/resources/vendors/js/vendors.js?ver=onoffice-for-wp-websites/assets/css/onoffice.css?ver=onoffice-for-wp-websites/assets/js/onoffice.js?ver=onoffice-for-wp-websites/assets/css/onoffice-style.css?ver=onoffice-for-wp-websites/assets/css/admin.css?ver=onoffice-for-wp-websites/assets/js/admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
onofficeonoffice-clear-cacheaddressesestatesformssettings
JS Globals
onoffice_plugin_version
REST Endpoints
/wp-json/onoffice/v1/plugin/wp-json/onoffice/v1/users/wp-json/onoffice/v1/addresses/wp-json/onoffice/v1/estates
FAQ

Frequently Asked Questions about onOffice for WP-Websites