I do believe that applications, passwords, and protocols count as “resources,” 
and that the default configuration that ships with an application, or is 
engineered into a system, would count as the “initialization” of that 
“resource.”  That said, could CWE-1188 get some better demonstrative examples? 
Absolutely. To wit, one of the observed examples (CVE-2022-42467) of CWE-1188 
isn’t about a vulnerability at all, but about a UI not requiring a password by 
default.


RT Hatfield | Staff Cybersecurity Analyst | BS CS, CCITP, CISSP
The Home Depot | Cyber Threat Intelligence
• arthur_hatfi...@homedepot.com<mailto:arthur_hatfi...@homedepot.com>
• c...@homedepot.com<mailto:c...@homedepot.com>





INTERNAL USE
From: David A. Wheeler <dwhee...@linuxfoundation.org>
Date: Tuesday, January 9, 2024 at 3:12 PM
To: Przemyslaw Roguski <progu...@redhat.com>
Cc: Alec J Summers <asumm...@mitre.org>, Murren, Andy <amur...@ieee.org>, CWE 
Research Discussion <cwe-research-list@mitre.org>, Michael Scovetta 
<michael.scove...@microsoft.com>, Michael Winser <micha...@xwind.io>
Subject: [EXTERNAL] Re: [EXT] Proposal: Add "Insecure default" as a general CWE 
category (per "Secure-by-design" paper)
> On Jan 8, 2024, at 6:  43 AM, Przemyslaw Roguski <proguski@  redhat.  com> 
> wrote: > > Hello Everyone and Happy New Year to all of you! > > David, in my 
> opinion the CWE-1188: Initialization of a Resource

> On Jan 8, 2024, at 6: 43 AM, Przemyslaw Roguski <proguski@ redhat. com> 
> wrote: > > Hello Everyone and Happy New Year to all of you! > > David, in my 
> opinion the CWE-1188: Initialization of a Resource with an Insecure Default






> On Jan 8, 2024, at 6:43 AM, Przemyslaw Roguski <progu...@redhat.com> wrote:

>

> Hello Everyone and Happy New Year to all of you!

>

> David, in my opinion the CWE-1188: Initialization of a Resource with an 
> Insecure Default describes your "insecure default" general use case pretty 
> well.

> See the extended description:

> "Developers often choose default values that leave the product as open and 
> easy to use as possible out-of-the-box, under the assumption that the 
> administrator can (or should) change the default value. However, this 
> ease-of-use comes at a cost when the default is insecure and the 
> administrator does not change it."

>

> We could update this weakness with a more descriptive description and we 
> could update examples.



I agree that CWE-1188 could be *rewritten* to become a general "insecure 
default". However, as written CWE-1188 is *not* clearly the same thing at all, 
and I think it'd be better to clearly identify a new CWE for this new (broader) 
category.



When I want to know what a CWE really is, I look at its demonstrative example 
for clarification. The example describes a straight-up vulnerability in some 
PHP code when register_globals is enabled. An attacker can send a POST request 
with an unexpected third value 'authorized' set to 'true' and gain authorized 
status without supplying valid credentials. The problem, in this case, is that 
*attackers* can control the default value. You could disable register_globals, 
but you could *ALSO* rewrite the code as recommended so that attackers don't 
control the default value. The text of the CWE implies that the problem is that 
attackers can control the default value. (Using register_globals is still a 
terrible idea, but that's not relevant to this example.)



Another clue that CWE-1188 isn't the general case is the extreme narrowness of 
its title. It says "Initialization of a Resource...". But resources are NOT 
relevant. I think what's needed is a CWE that says "Insecure Default" and NO 
OTHER TEXT IN THE TITLE. If there's additional text in its title, such as 
"initialization" or "resource", then that's different. This new CWE should 
cover ANY case where the default is insecure, including bad default passwords, 
bad default crypto algorithms/protocols, default passwords, insecure network 
protocols, and anything else where the default isn't the secure option.



I don't think CWE-1188's scope should be changed so much as to be 
unrecognizable. There are many integers available for assignment :-). I think 
there needs to be a new CWE "Insecure Default". Once that's created, then 
CWE-1188 (& others) could be clarified as being specific examples of the more 
general case. It would be possible to generalize this existing CWE, but I fear 
that such a large change in meaning would be a problem.



Again, the underlying issue is that modern systems are too complex to assume 
that people will configure it. Systems will, in almost all cases, do whatever 
the default is. If the default for "normal use" is insecure, then the software 
is insecure.



--- David A. Wheeler



________________________________

The information in this Internet Email is confidential and may be legally 
privileged. It is intended solely for the addressee. Access to this Email by 
anyone else is unauthorized. If you are not the intended recipient, any 
disclosure, copying, distribution or any action taken or omitted to be taken in 
reliance on it, is prohibited and may be unlawful. When addressed to our 
clients any opinions or advice contained in this Email are subject to the terms 
and conditions expressed in any applicable governing The Home Depot terms of 
business or client engagement letter. The Home Depot disclaims all 
responsibility and liability for the accuracy and content of this attachment 
and for any damages or losses arising from any inaccuracies, errors, viruses, 
e.g., worms, trojan horses, etc., or other items of a destructive nature, which 
may be contained in this attachment and shall not be liable for direct, 
indirect, consequential or special damages in connection with this e-mail 
message or its attachment.

Reply via email to