CVE-2025-3935
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedScreenConnect versions 25.2.3 and earlier versions may be susceptible to a ViewState code injection attack. ASP.NET Web Forms use ViewState to preserve page and control state, with data encoded using Base64 protected by machine keys. It is important to note that to obtain these machine keys, privileged system level access must be obtained. If these machine keys are compromised, attackers could create and send a malicious ViewState to the website, potentially leading to remote code execution on the server. The risk does not originate from a vulnerability introduced by ScreenConnect, but from platform level behavior. This had no direct impact to ScreenConnect Client. ScreenConnect 2025.4 patch disables ViewState and removes any dependency on it.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceScreenConnect versions 25.2.3 and earlier use ASP.NET Web Forms ViewState (Base64-encoded and machine-key protected) which, if machine keys are compromised via privileged access, can be weaponized for remote code execution. The vulnerability stems from platform-level ASP.NET behavior rather than a ScreenConnect-specific flaw, and version 2025.4 addresses it by disabling ViewState entirely.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 25.2.4CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- High
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Check installed ScreenConnect versionLocate the ScreenConnect installation directory and identify the version from the installer, application logs, or the web interface header. Common locations include the installation folder (typically C:\Program Files\ScreenConnect or C:\Program Files (x86)\ScreenConnect) and the About page in the web UI.Affected if The installed version is below 25.2.4 (for example, 25.2.3, 25.2.0, or earlier releases)
-
Verify if ViewState is enabled in configurationExamine the web.config file in the ScreenConnect web application root for the enableViewState and enableViewStateMac attributes within the <pages> element. Also check for any custom ViewState settings in application configuration files.Affected if ViewState is enabled (enableViewState is set to true or absent with default true) and the application uses ASP.NET Web Forms ViewState functionality
-
Confirm machine key configuration exposureReview the web.config file for <machineKey> elements. Check file system permissions on configuration files to determine if unprivileged users or compromised accounts could read these keys. Also review any backup locations where configuration files may be stored.Affected if Machine keys are present in configuration files and accessible to users with privileged system access, or if configuration files lack restrictive access controls
-
Check for ViewState-related activity in logsReview ScreenConnect and IIS/ASP.NET logs for patterns indicating ViewState deserialization attempts. Look for anomalous ViewState submissions, especially base64-encoded data in HTTP POST requests to the web application endpoints.Affected if Suspicious ViewState submissions are found in logs, particularly from privileged users or unusual source addresses
-
Identify Web Forms dependency in applicationSurvey the ScreenConnect application files for ASP.NET Web Forms artifacts (aspx pages, ViewState-related handlers). Check the bin directory for System.Web references and examine URL patterns for .aspx extensions in active use.Affected if The application actively uses ASP.NET Web Forms with ViewState processing enabled
You are affected if your ScreenConnect version is below 25.2.4 AND ViewState is enabled in your configuration, especially if machine keys are accessible to privileged accounts.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped25.2.4
Upgrade to ScreenConnect 2025.4 or later, which disables ViewState and removes this attack vector. Organizations should also ensure machine keys are properly secured and not exposed.
ScreenConnect 25.2.4 or later (2025.4 release)
- 1. Verify current ScreenConnect version by checking the About page or installation directory
- 2. Download ScreenConnect version 25.2.4 or later from the official ConnectWise portal
- 3. Review release notes for any migration considerations before upgrading
- 4. Back up the current ScreenConnect database and configuration files
- 5. Apply the upgrade following standard ScreenConnect upgrade procedures
- 6. Verify the upgrade was successful and the server is operational
- 7. Confirm ViewState has been disabled by checking the release notes or verifying no ViewState-related errors in logs
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation2.0 h
- Testing6.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,552.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2025-3935 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2025-3935 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data