Property Hive

@propertyhive · wordpress.org profile ↗
Member since
2015-08-09
Location
Warwickshire, UK
Employer
—
Job title
—
Authored
8
SVN commit access
8
Readme contributor
0
Combined install base
7k+ across 8 plugins

Alerts (0)

No open alerts.

Show 2 resolved alerts
Critical code_pattern Property Hive Resolved · fp_legacy_code_pattern_lowinstalls 12d ago
Slugpropertyhive
Patternunserialize_after_remote_call
Kindbuiltin
Version2.4.0
Hit count1
First hit
File
includes/class-ph-licenses.php
Line
531
Snippet
L525: if ( 200 !== wp_remote_retrieve_response_code( $request ) || '' === wp_remote_retrieve_b → L531: $body = @unserialize($request['body'], ['allowed_classes' => false]);
Explanationa remote HTTP fetch (`wp_remote_*` / `curl_exec`) is followed by `@unserialize` within the same file — classic PHP Object Injection C2 gadget. The error-suppressed form is the tell: legit code wants to know when deserialize fails; attackers suppress so malformed gadgets do not leak. A real finding regardless of author intent: any plugin that deserializes remote responses without validation is a latent RCE chain if the remote endpoint is ever compromised.
View raw JSON
{
    "slug": "propertyhive",
    "pattern": "unserialize_after_remote_call",
    "kind": "builtin",
    "version": "2.4.0",
    "hit_count": 1,
    "first_hit": {
        "file": "includes/class-ph-licenses.php",
        "line": 531,
        "snippet": "L525: if ( 200 !== wp_remote_retrieve_response_code( $request ) || '' === wp_remote_retrieve_b  \u2192  L531: $body = @unserialize($request['body'], ['allowed_classes' => false]);"
    },
    "explanation": "a remote HTTP fetch (`wp_remote_*` / `curl_exec`) is followed by `@unserialize` within the same file \u2014 classic PHP Object Injection C2 gadget. The error-suppressed form is the tell: legit code wants to know when deserialize fails; attackers suppress so malformed gadgets do not leak. A real finding regardless of author intent: any plugin that deserializes remote responses without validation is a latent RCE chain if the remote endpoint is ever compromised."
}
Critical code_scan_delta Property Hive Resolved · fp_code_scan_delta_routine 14d ago
Slugpropertyhive
Previous version2.2.6
Current version2.4.0
New findings
PatternKindFileLineSnippetConfidenceDetails
base64_decodebuiltinpropertyhive.php453$decoded = base64_decode( $encoded_token, true );medium—
unserialize_after_remote_callbuiltinincludes/class-ph-licenses.php531L525: if ( 200 !== wp_remote_retrieve_response_code( $request ) || '' === wp_remote_retrieve_b → L531: $body = @unserialize($request['body'], ['allowed_classes' => false]);high—
remote_enqueuebuiltinincludes/elementor-widgets/property-tabbed-details.php847wp_enqueue_script( 'propertyhive-facebook-embed', 'https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v20.0', array(), null, true );medium
Url
https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v20.0
Url host
connect.facebook.net
remote_enqueuebuiltinincludes/elementor-widgets/property-embedded-virtual-tours.php139wp_enqueue_script( 'propertyhive-instagram-embed', 'https://www.instagram.com/embed.js', array(), null, true );medium
Url
https://www.instagram.com/embed.js
Url host
www.instagram.com
base64_decodebuiltinincludes/admin/class-ph-admin.php164$decoded_slug = base64_decode( $encoded_slug, true );medium—
base64_decodebuiltinincludes/admin/class-ph-admin.php165$decoded_plugin = base64_decode( $encoded_plugin, true );medium—
New finding count6
View raw JSON
{
    "slug": "propertyhive",
    "previous_version": "2.2.6",
    "current_version": "2.4.0",
    "new_findings": [
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "propertyhive.php",
            "line": 453,
            "snippet": "$decoded = base64_decode( $encoded_token, true );",
            "confidence": "medium"
        },
        {
            "pattern": "unserialize_after_remote_call",
            "kind": "builtin",
            "file": "includes/class-ph-licenses.php",
            "line": 531,
            "snippet": "L525: if ( 200 !== wp_remote_retrieve_response_code( $request ) || '' === wp_remote_retrieve_b  \u2192  L531: $body = @unserialize($request['body'], ['allowed_classes' => false]);",
            "confidence": "high"
        },
        {
            "pattern": "remote_enqueue",
            "kind": "builtin",
            "file": "includes/elementor-widgets/property-tabbed-details.php",
            "line": 847,
            "snippet": "wp_enqueue_script( 'propertyhive-facebook-embed', 'https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v20.0', array(), null, true );",
            "confidence": "medium",
            "details": {
                "url": "https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v20.0",
                "url_host": "connect.facebook.net"
            }
        },
        {
            "pattern": "remote_enqueue",
            "kind": "builtin",
            "file": "includes/elementor-widgets/property-embedded-virtual-tours.php",
            "line": 139,
            "snippet": "wp_enqueue_script( 'propertyhive-instagram-embed', 'https://www.instagram.com/embed.js', array(), null, true );",
            "confidence": "medium",
            "details": {
                "url": "https://www.instagram.com/embed.js",
                "url_host": "www.instagram.com"
            }
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "includes/admin/class-ph-admin.php",
            "line": 164,
            "snippet": "$decoded_slug = base64_decode( $encoded_slug, true );",
            "confidence": "medium"
        },
        {
            "pattern": "base64_decode",
            "kind": "builtin",
            "file": "includes/admin/class-ph-admin.php",
            "line": 165,
            "snippet": "$decoded_plugin = base64_decode( $encoded_plugin, true );",
            "confidence": "medium"
        }
    ],
    "new_finding_count": 6
}

Plugins authored (8)

Plugin Version Installs Last updated Status
Property Hive ·propertyhive 2.4.0 3k+ 25d ago Active
Houzez Property Feed ·houzez-property-feed 2.5.50 1k+ 6d ago Active
Property Hive Stamp Duty Calculator ·property-hive-stamp-duty-calculator 1.0.29 900 6d ago Active
Property Hive Mortgage Calculator ·property-hive-mortgage-calculator 1.0.8 800 6d ago Active
Property Hive Rental Yield Calculator ·property-hive-rental-yield-calculator 1.0.5 400 5d ago Active
Property Hive Rental Affordability Calculator ·property-hive-rental-affordability-calculator 1.0.4 400 5d ago Active
Property Hive AllAgents Review Embed ·property-hive-allagents-review-embed 1.0.3 90 5d ago Active
Formidable Forms Posts, Pages and CPT Field Type ·ff-posts-pages-and-cpt-field-type 1.0.0 30 8y ago Active

SVN commit access (8)

Plugins this account has pushed commits to, reconstructed from plugins.svn.wordpress.org. A new name showing up here on an established plugin is the strongest ownership-transfer signal.

Plugin Primary author Installs Commits First Latest Status
Property Hive propertyhive 3k+ 531 10y ago 3mo ago Active
Houzez Property Feed propertyhive 1k+ 380 3y ago 2mo ago Active
Property Hive Stamp Duty Calculator propertyhive 900 61 10y ago 8mo ago Active
Property Hive Mortgage Calculator propertyhive 800 18 10y ago 1y ago Active
Property Hive Rental Yield Calculator propertyhive 400 12 9y ago 2y ago Active
Property Hive Rental Affordability Calculator propertyhive 400 9 5y ago 7mo ago Active
Property Hive AllAgents Review Embed propertyhive 90 4 5y ago 5y ago Active
Formidable Forms Posts, Pages and CPT Field Type propertyhive 30 3 8y ago 8y ago Active