CWEweakness

CWE-178 Improper Handling of Case Sensitivity

Official page ↗
Abstraction
Base
Structure
Simple
Status
Incomplete
Languages
Not Language-Specific
CWE version
5.0

Description

The product does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results.

Common consequences

• Access Control: Bypass Protection Mechanism — Improperly handled case sensitive data can lead to several possible consequences, including: • case-insensitive passwords reducing the size of the key space, making brute force attacks easier • bypassing filters or access controls using alternate names • multiple interpretation errors using alternate names.

Potential mitigations

• [Architecture and Design] Avoid making decisions based on names of resources (e.g. files) if those resources can have alternate names. • [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright. • [Implementation] Inputs should be decoded and canonicalized to the application's current internal representation before being validated (CWE-180). Make sure that the application does not decode the same input twice (CWE-174). Such errors could be used to bypass allowlist validation schemes by introducing dangerous inputs after they have been checked.

Detection methods

• Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)

Observed examples

• CVE-2000-0499: Application server allows attackers to bypass execution of a jsp page and read the source code using an upper case JSP extension in the request. • CVE-2000-0497: The server is case sensitive, so filetype handlers treat .jsp and .JSP as different extensions. JSP source code may be read because .JSP defaults to the filetype "text". • CVE-2000-0498: The server is case sensitive, so filetype handlers treat .jsp and .JSP as different extensions. JSP source code may be read because .JSP defaults to the filetype "text". • CVE-2001-0766: A URL that contains some characters whose case is not matched by the server's filters may bypass access restrictions because the case-insensitive file system will then handle the request after it bypasses the case sensitive filter. • CVE-2001-0795: Server allows remote attackers to obtain source code of CGI scripts via URLs that contain MS-DOS conventions such as (1) upper case letters (CWE-178) or (2) 8.3 file names (CWE-58). • CVE-2001-1238: Task Manager does not allow local users to end processes with uppercase letters named (1) winlogon.exe, (2) csrss.exe, (3) smss.exe and (4) services.exe via the Process tab which could allow local users to install Trojan horses that cannot be stopped. • CVE-2003-0411: Chain: Code was ported from a case-sensitive Unix platform to a case-insensitive Windows platform where filetype handlers treat .jsp and .JSP as different extensions. JSP source code may be read because .JSP defaults to the filetype "text". • CVE-2002-0485: Leads to interpretation error • CVE-1999-0239: Directories may be listed because lower case web requests are not properly handled by the server. • CVE-2005-0269: File extension check in forum software only verifies extensions that contain all lowercase letters, which allows remote attackers to upload arbitrary files via file extensions that include uppercase letters. • CVE-2004-1083: Web server restricts access to files in a case sensitive manner, but the filesystem accesses files in a case insensitive manner, which allows remote attackers to read privileged files using alternate capitalization. • CVE-2002-2119: Case insensitive passwords lead to search space reduction. • CVE-2004-2214: HTTP server allows bypass of access restrictions using URIs with mixed case. • CVE-2004-2154: Mixed upper/lowercase allows bypass of ACLs. • CVE-2005-4509: Bypass malicious script detection by using tokens that aren't case sensitive. • CVE-2002-1820: Mixed case problem allows "admin" to have "Admin" rights (alternate name property). • CVE-2007-3365: Chain: uppercase file extensions causes web server to return script source code instead of executing the script. • CVE-2021-39155: Chain: A microservice integration and management platform compares the hostname in the HTTP Host header in a case-sensitive way (CWE-178, CWE-1289), allowing bypass of the authorization policy (CWE-863) using a hostname with mixed case or other variations.

Related

Observed example · CVE (18)

  • CVE-2021-39155 Istio is an open source platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce… vulnerability
  • CVE-2007-3365 MyServer 0.8.9 and earlier does not properly handle uppercase characters in filename extensions, which allows remote attackers to obtain… vulnerability
  • CVE-2005-4509 SQL injection vulnerability in index.asp in pTools allows remote attackers to execute arbitrary SQL commands via the docID parameter. vulnerability
  • CVE-2005-0269 The file extension check in GNUBoard 3.40 and earlier only verifies extensions that contain all lowercase letters, which allows remote… vulnerability
  • CVE-2004-2154 CUPS before 1.1.21rc1 treats a Location directive in cupsd.conf as case sensitive, which allows attackers to bypass intended ACLs via a… vulnerability
  • CVE-2004-2214 Mbedthis AppWeb HTTP server before 1.1.3 allows remote attackers to bypass access restrictions via a URI with mixed case characters. vulnerability
  • CVE-2004-1083 Apache for Apple Mac OS X 10.2.8 and 10.3.6 restricts access to files in a case sensitive manner, but the Apple HFS+ filesystem accesses… vulnerability
  • CVE-2003-0411 Sun ONE Application Server 7.0 for Windows 2000/XP allows remote attackers to obtain JSP source code via a request that uses the uppercase… vulnerability
  • CVE-2002-1820 register.php in Ultimate PHP Board (UPB) 1.0 and 1.0b uses an administrative account Admin with a capital "A," but allows a remote attacker… vulnerability
  • CVE-2002-2119 Novell eDirectory 8.6.2 and 8.7 use case insensitive passwords, which makes it easier for remote attackers to conduct brute force password… vulnerability
  • CVE-2002-0485 Norton Anti-Virus (NAV) allows remote attackers to bypass content filtering via attachments whose Content-Type and Content-Disposition… vulnerability
  • CVE-2001-0766 Apache on MacOS X Client 10.0.3 with the HFS+ file system allows remote attackers to bypass access restrictions via a URL that contains… vulnerability
  • CVE-2001-0795 Perception LiteServe 1.25 allows remote attackers to obtain source code of CGI scripts via URLs that contain MS-DOS conventions such as (1)… vulnerability
  • CVE-2001-1238 Task Manager in Windows 2000 does not allow local users to end processes with uppercase letters named (1) winlogon.exe, (2) csrss.exe, (3)… vulnerability
  • CVE-2000-0497 IBM WebSphere server 3.0.2 allows a remote attacker to view source code of a JSP program by requesting a URL which provides the JSP… vulnerability
  • CVE-2000-0498 Unify eWave ServletExec allows a remote attacker to view source code of a JSP program by requesting a URL which provides the JSP extension… vulnerability
  • CVE-2000-0499 The default configuration of BEA WebLogic 3.1.8 through 4.5.1 allows a remote attacker to view source code of a JSP program by requesting a… vulnerability
  • CVE-1999-0239 Netscape FastTrack Web server lists files when a lowercase "get" command is used instead of an uppercase GET. vulnerability

Can precede · CWE (2)

  • CWE-289 Authentication Bypass by Alternate Name weakness
  • CWE-433 Unparsed Raw Web Content Delivery weakness

Child of · CWE (1)

  • CWE-706 Use of Incorrectly-Resolved Name or Reference weakness

Referenced by CVE · weakness (138)

  • CVE-2026-109411 An access control bypass flaw was identified in Samba's vfs_ceph_rgw module in it's openat() function. vulnerability
  • CVE-2026-116135 HTTP::Body versions before 1.23_01 for Perl drop mixed-case percent escapes from urlencoded form fields instead of decoding them. vulnerability
  • CVE-2026-108313 Tanium addressed an incorrect privilege assignment vulnerability in Tanium Server. vulnerability
  • CVE-2026-105608 HashiCorp Consul and Consul Enterprise are vulnerable to an authorization bypass in service mesh proxy registration. vulnerability
  • CVE-2026-116469 MISP Guard, a proxy-based security filter for MISP feed distribution, contains a case-sensitivity flaw in multiple policy enforcement… vulnerability
  • CVE-2026-114132 Nuxt is an open-source web development framework for Vue.js. vulnerability
  • CVE-2026-80343 Improper Handling of Case Sensitivity vulnerability in Apache Camel Netty HTTP component. vulnerability
  • CVE-2026-85254 Improper Handling of Case Sensitivity vulnerability in Apache Camel Platform HTTP component. vulnerability
  • CVE-2026-111448 Wheels 4.0.0 through 4.1.2 uses case-insensitive comparisons in path-containment checks on case-sensitive filesystems. vulnerability
  • CVE-2026-109841 undici is an HTTP client library for Node.js. vulnerability
  • CVE-2026-18660 In Eclipse Jetty, across various versions of `jetty-server`, and `jetty-proxy`, the host whitelist/blacklist is case-sensitive, and would… vulnerability
  • CVE-2026-107381 svg-sanitizer is a PHP SVG/XML sanitizer. vulnerability
  • CVE-2026-107832 fastify is a fast and low overhead web framework for Node.js. vulnerability
  • CVE-2026-74041 Wazuh 4.14.3 before 4.14.8 and 4.10.4 contains a case-sensitivity mismatch between the ossec.conf validator and wazuh-logcollector that… vulnerability
  • CVE-2026-108721 Open Computer Use through 1.0.0 on macOS contains an improper case sensitivity handling vulnerability that allows local MCP callers to… vulnerability
  • CVE-2026-105570 Docker Sandboxes compared OAuth token-endpoint hostnames case-sensitively when deciding whether to mask managed credential responses, while… vulnerability
  • CVE-2026-89322 Vault and Vault Enterprise did not consistently evaluate ACL policies against the canonical form of resource and policy names. vulnerability
  • CVE-2026-106497 Backstage is an open framework for building developer portals. vulnerability
  • CVE-2026-106503 Backstage is an open framework for building developer portals. vulnerability
  • CVE-2026-102131 Kiteworks Email Protection Gateway rejected certain configuration settings, but its validation did not recognize every form in which they… vulnerability
  • CVE-2026-100541 OpenClaw's Matrix integration (npm package @openclaw/matrix) versions >= 2026.2.2 and < 2026.8.1 lowercase complete Matrix user IDs —… vulnerability
  • CVE-2026-100580 OpenClaw (npm package 'openclaw') before 2026.7.1 improperly handles case sensitivity in the model-facing cron tool: a mixed-case payload… vulnerability
  • CVE-2026-100669 Grav before 2.0.25 ships web server configuration samples whose access-control deny rules are matched case-sensitively. vulnerability
  • CVE-2026-100693 Hugo versions from v0.162.0 before v0.166.0 contain a case-sensitive validation flaw in the security.http.urls IP-literal deny rule that… vulnerability
  • CVE-2026-92700 Caddy is an extensible server platform that uses TLS by default. vulnerability
  • CVE-2026-77560 Tinyauth is an authentication and authorization server. vulnerability
  • CVE-2026-77281 Caddy is an extensible server platform that uses TLS by default. vulnerability
  • CVE-2026-90982 @fastify/static is a Fastify plugin that serves static files from a configured root directory. vulnerability
  • CVE-2026-57441 MCPVault is a lightweight Model Context Protocol server for safe access to files in an Obsidian vault. vulnerability
  • CVE-2026-86472 fast-uri is a dependency-free RFC 3986 URI parser for Node.js, used by Fastify and ajv. vulnerability
Show all 138 ›

Referenced by CWE · peer of (1)

  • CWE-1289 Improper Validation of Unsafe Equivalence in Input weakness