Skip to content
OpenAdvisories

Weakness (CWE)

CWE-203: Observable Discrepancy

Base Incomplete

The product behaves differently or sends different responses under different circumstances in a way that is observable to an unauthorized actor.

How to prevent it (2 mitigations)
  1. Architecture and Design

    Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area.

    Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges.

  2. Implementation

    Ensure that error messages only contain minimal details that are useful to the intended audience and no one else. The messages need to strike the balance between being too cryptic (which can confuse users) or being too detailed (which may reveal more than intended). The messages should not reveal the methods that were used to determine the error. Attackers can use detailed information to refine or optimize their original attack, thereby increasing their chances of success.

    If errors must be captured in some detail, record them in log messages, but consider what could occur if the log messages can be viewed by attackers. Highly sensitive information such as passwords should never be saved to log files.

    Avoid inconsistent messaging that might accidentally tip off an attacker about internal state, such as whether a user account exists or not.

Source: MITRE CWE-203

68 results · Clear filters · Feed

  • Low 3.7

    Coder before 2.34.2 User Enumeration via Login Placeholder Hash

    Coder before 2.29.17, 2.30.0 before 2.32.7, 2.33.0 before 2.33.8, and 2.34.0 before 2.34.2 contains a user enumeration vulnerability because userpassword.Compare() substitutes a placeholder hash derived from the string "hunter2" when a stored password hash is…

  • Low 3.1

    Observable discrepancy in Media in Google Chrome prior to 155.0.8059.79 allowed a remote attacker to leak cross-origin …

  • Low 3.7

    Busybox: busybox: httpd user existence oracle in non-default shadow-disabled builds

    A flaw was found in BusyBox's httpd web server. When configured with system password authentication, a user existence oracle may exist in certain build configurations. An attacker could distinguish existing from non-existing usernames by observing authenticat…

  • Low 3.1

    Observable discrepancy in Scroll in Google Chrome prior to 155.0.8059.39 allowed a remote attacker to obtain cross-orig…

  • Low 3.1

    Observable discrepancy in Animation in Google Chrome prior to 155.0.8059.39 allowed a remote attacker to potentially ob…

  • Low 3.1

    Ghost: Password Hash Ordering Disclosure in Ghost Admin API

    Ghost is a Node.js content management system. From 0.7.2 until 6.64.0, any staff-level user was able to determine the relative ordering of other staff users' hashed passwords. This does not directly disclose password hashes, and does not provide a practical p…

  • Low 3.1

    Ghost 0.7.2 before 6.64.0 Password Hash Ordering Disclosure via Admin API

    Ghost from 0.7.2 before 6.64.0 contains an information disclosure vulnerability in the Admin API that allows staff-level users to determine the relative ordering of other staff users' password hashes. Authenticated staff users can query the Admin API to infer…

  • Low 3.7

    dgtlmoon changedetection.io Hash Comparison flask_app.py check_password timing discrepancy

    A flaw has been found in dgtlmoon changedetection.io up to 0.60.7. The affected element is the function check_password of the file changedetectionio/flask_app.py of the component Hash Comparison. This manipulation of the argument Password causes observable ti…

  • Low 3.7

    Username Enumeration via SMS OTP Flow in WSO2 Identity Server Allows User Account Discovery

    The SMS OTP flow fails to adequately handle error messages, allowing an attacker to infer the existence of registered user accounts based on the responses received during the OTP initiation process. This weakness can be exploited by an attacker to discover va…

  • Low 3.1

    Observable discrepancy in Network in Google Chrome prior to 153.0.8010.36 allowed a remote attacker to obtain cross-ori…

  • Low 2.9

    Observable discrepancy in CustomTabs in Google Chrome on on Android prior to 152.0.7977.65 allowed a local attacker to …

  • Low 2.9

    Observable discrepancy in CustomTabs in Google Chrome on on Android prior to 152.0.7977.65 allowed a local attacker to …

  • Low 3.7

    automad Password Reset Endpoint UserController.php requestPasswordResetToken response discrepancy

    A vulnerability was determined in automad up to 2.0.0-beta.32. This vulnerability affects the function requestPasswordResetToken of the file automad/src/server/Controllers/API/UserController.php of the component Password Reset Endpoint. This manipulation of t…

  • Low 2.7

    Cross-repository label-ID enumeration oracle via unscoped DeleteIssueLabel API

    Cross-repository label-ID enumeration oracle via unscoped DeleteIssueLabel API

  • Low 3.7

    Username Enumeration via Login Interface in Multiple WSO2 Products Allows User Account Discovery

    When Multi-Attribute Login is enabled, the login interface fails to consistently mask the existence of user accounts. For valid users, the server resolves and displays their canonical username, while for non-existent users, it echoes the original input. This …

  • Low 2.3

    Dompdf: File existence oracle via font-face stylesheet declaration

    Dompdf is an HTML to PDF converter for PHP. Versions 3.15 and prior are vulnerable to a File Existence Oracle attack through the manipulation of the CSS @font-face directive. By providing malicious HTML that references local files via the file:// protocol rep…

  • Low 2.6

    Vulnerability in the Siebel CRM Deployment product of Oracle Siebel CRM (component: Application Interface). Supported v…

  • Low 3.7

    Industrial Application Software IAS Canias ERP Login RMI doAction response discrepancy

    A vulnerability was found in Industrial Application Software IAS Canias ERP 8.03. The impacted element is the function doAction of the component Login RMI Interface. Performing a manipulation results in observable response discrepancy. The attack is possible …

  • Low 2.1

    Compiler-induced timing leak in sp_256_get_entry_256_9 on RISC-V

    In wolfSSL 5.8.4, constant-time masking logic in sp_256_get_entry_256_9 is optimized into conditional branches (bnez) by GCC when targeting RISC-V RV32I with -O3. This transformation breaks the side-channel resistance of ECC scalar multiplication, potentially…

  • Low 2.1

    Non-constant time multiplication subroutine __muldi3 on RISC-V RV32I

    wolfSSL 5.8.4 on RISC-V RV32I architectures lacks a constant-time software implementation for 64-bit multiplication. The compiler-inserted __muldi3 subroutine executes in variable time based on operand values. This affects multiple SP math functions (sp_256_m…

  • Low 3.7

    projectsend Auth.php response discrepancy

    A flaw has been found in projectsend up to r1945. This impacts an unknown function of the file includes/Classes/Auth.php. Executing a manipulation of the argument ldap_email can lead to observable response discrepancy. The attack can be executed remotely. A h…

  • Low 3.3
    CVE-2026-4040 Public exploit

    OpenClaw File Existence tools.exec.safeBins information exposure

    A vulnerability was identified in OpenClaw up to 2026.2.17. This issue affects the function tools.exec.safeBins of the component File Existence Handler. The manipulation leads to information exposure through discrepancy. The attack needs to be performed local…

  • Low 2.8

    There is a username enumeration via local user login in Entrinsik Informer v5.10.1 which allows malicious users to enum…

  • Low 2.7

    In JetBrains TeamCity before 2025.11 port enumeration was possible via the Perforce connection test

  • Low 1.0

    Potential non-constant time compiled code with Clang LLVM

    Multiple constant-time implementations in wolfSSL before version 5.8.4 may be transformed into non-constant-time binary by LLVM optimizations, which can potentially result in observable timing discrepancies and lead to information disclosure through timing si…

  • Low 2.3

    Timing Side-Channel in PSK Binder Verification

    The server previously verified the TLS 1.3 PSK binder using a non-constant time method which could potentially leak information about the PSK binder

  • Low 1.0

    Constant Time Issue with Xtensa-based ESP32 and X22519

    Vulnerability in X25519 constant-time cryptographic implementations due to timing side channels introduced by compiler optimizations and CPU architecture limitations, specifically with the Xtensa-based ESP32 chips. If targeting Xtensa it is recommended to use…

  • Low 3.7

    JhumanJ OpnForm Forgotten Password email information exposure

    A weakness has been identified in JhumanJ OpnForm up to 1.9.3. This affects an unknown function of the file /api/password/email of the component Forgotten Password Handler. This manipulation causes information exposure through discrepancy. It is possible to i…

  • Low 3.7

    Username Enumeration in Multiple WSO2 Products with Multi-Attribute Login Enabled

    A username enumeration vulnerability exists in multiple WSO2 products when Multi-Attribute Login is enabled. In this configuration, the system returns a distinct "User does not exist" error message to the login form, regardless of the validate_username settin…

  • Low 3.7
    CVE-2025-51586 Public exploit

    Presta Shop vulnerable to email enumeration

    An issue was discoverd in file controllers/admin/AdminLoginController.php in PrestaShop before 8.2.1 allowing attackers to gain sensitive information via the reset password feature.

  • Low 3.7

    Portabilis i-Diario Password Recovery Endpoint email observable response discrepancy

    A security flaw has been discovered in Portabilis i-Diario up to 1.5.0. Affected by this vulnerability is an unknown functionality of the file /password/email of the component Password Recovery Endpoint. The manipulation results in observable response discrep…

  • Low 2.5

    riscv-boom SonicBOOM L1 Data Cache timing discrepancy

    A vulnerability has been found in riscv-boom SonicBOOM up to 2.2.3 and classified as problematic. Affected by this vulnerability is an unknown functionality of the component L1 Data Cache Handler. The manipulation leads to observable timing discrepancy. Local…

  • Low 3.7

    OpenBao: Timing Side-Channel in Userpass Auth Method

    OpenBao exists to provide a software solution to manage, store, and distribute sensitive data including secrets, certificates, and keys. In versions 0.1.0 through 2.3.1, when using OpenBao's userpass auth method, user enumeration was possible due to timing di…

  • Low 3.7

    Timing Side-Channel in Vault’s Userpass Auth Method

    A timing side channel in Vault and Vault Enterprise’s (“Vault”) userpass auth method allowed an attacker to distinguish between existing and non-existing users, and potentially enumerate valid usernames for Vault’s Userpass auth method. Fixed in Vault Communi…

  • Low 2.9

    curve25519-dalek has timing variability in `curve25519-dalek`'s `Scalar29::sub`/`Scalar52::sub`

    The curve25519-dalek crate before 4.1.3 for Rust has a constant-time operation on elliptic curve scalars that is removed by LLVM.

  • Low 3.3

    Screen 5.0.0 and older versions allow file existence tests when installed setuid-root

    A minor information leak when running Screen with setuid-root privileges allows unprivileged users to deduce information about a path that would otherwise not be available. Affected are older Screen versions, as well as version 5.0.0.

  • Low 3.1

    Keystone has an unintended `isFilterable` bypass that can be used as an oracle to match hidden fields

    Keystone is a content management system for Node.js. Prior to version 6.5.0, `{field}.isFilterable` access control can be bypassed in `update` and `delete` mutations by adding additional unique filters. These filters can be used as an oracle to probe the exis…

  • Low 3.1

    EspoCRM Allows Potential Disclosure of Sensitive Information in the User Sorting Function

    EspoCRM is an Open Source Customer Relationship Management software. Prior to version 9.0.7, users can be sorted by their password hash. This flaw allows an attacker to make assumptions about the hash values of other users stored in the password column of the…

  • Low 3.7

    IBM Common Cryptographic Architecture information disclosure

    IBM Common Cryptographic Architecture 7.0.0 through 7.5.51 could allow an attacker to obtain sensitive information due to a timing attack during certain RSA operations.

  • Low 3.7

    langhsu Mblog Blog System login observable response discrepancy

    A vulnerability classified as problematic has been found in langhsu Mblog Blog System 3.5.0. Affected is an unknown function of the file /login. The manipulation leads to observable response discrepancy. It is possible to launch the attack remotely. The compl…