Incident: Company Forced to Change Name Due to Cross-Site Scripting Vulnerability

Published Date: 2020-11-06

Postmortem Analysis
Timeline 1. The software failure incident happened in November 2020 [Article 107352]. Therefore, the software failure incident occurred in November 2020.
System 1. Companies House registration system failed to prevent the registration of a company name containing malicious HTML script tags, leading to a security risk [107352].
Responsible Organization 1. The British software engineer who set up the company with the problematic name [107352]
Impacted Organization 1. Companies House [107352]
Software Causes 1. The software failure incident was caused by the company name containing HTML script tags, specifically the use of the "<SCRIPT SRC=HTTPS://MJT.XSS.HT>" script tag, which exploited a vulnerability known as cross-site scripting [107352].
Non-software Causes 1. Lack of awareness or understanding of potential security risks associated with using certain characters in company names [107352] 2. Failure to anticipate the implications of using characters like quotation marks and chevrons in the company name [107352] 3. Insufficient validation or screening processes in place at Companies House to detect and prevent potentially risky company names from being registered [107352]
Impacts 1. The impacted company was forced to change its name by Companies House to mitigate the security risk posed by the original name [107352].
Preventions 1. Proper input validation and sanitization techniques should have been implemented by Companies House to prevent the registration of company names containing potentially harmful characters or scripts [107352]. 2. Regular security audits and vulnerability assessments could have helped identify and mitigate such risks before they were exploited [107352]. 3. Enhanced security awareness and training for both the staff registering companies and the technical team managing the registration system could have raised red flags about potentially risky company names [107352].
Fixes 1. Implement stricter validation checks for company names during registration to prevent the use of potentially harmful characters or scripts like HTML tags and special characters [107352]. 2. Conduct regular security audits and vulnerability assessments on the registration system to identify and address any potential weaknesses that could be exploited by attackers [107352]. 3. Provide security awareness training to employees and individuals involved in the registration process to educate them on the risks associated with using unconventional or potentially malicious company names [107352].
References 1. The software failure incident information is gathered from the Companies House spokesperson [Article 107352].

Software Taxonomy of Faults

Category Option Rationale
Recurring one_organization (a) The software failure incident related to the company changing its name due to a security risk is a unique case within the organization mentioned in the article. The incident involved the company registering a name containing HTML script tags that could pose a security risk due to cross-site scripting vulnerability. The company's director mentioned that other companies with similarly playful names have been registered in the past, but this specific incident prompted a response from Companies House [107352]. (b) There is no information in the provided article about similar incidents happening at other organizations or with their products and services.
Phase (Design/Operation) design, operation (a) The software failure incident in the article can be attributed to a design flaw. The company's original name was crafted in a way that exploited a vulnerability in Companies House's system due to a simple technique known as "cross-site scripting." The software engineer set up the company with a name containing HTML script tags, which could be used by an attacker to run code from one website on another. This design flaw in the company name posed a security risk due to the vulnerability in how Companies House handled HTML code [107352]. (b) The software failure incident can also be linked to operational factors. The incident occurred because the company's original name exploited a vulnerability that could have presented a security risk if published on unprotected external websites. This indicates that the misuse or publication of the company name on external platforms could have led to potential security breaches, highlighting an operational aspect of the failure [107352].
Boundary (Internal/External) within_system, outside_system (a) within_system: The software failure incident in this case was primarily due to a vulnerability within the system itself. The company registered a name containing HTML script tags that exploited a cross-site scripting vulnerability in Companies House. This allowed an attacker to run code from one website on another, potentially leading to more damaging consequences [107352]. (b) outside_system: The incident also involved factors originating from outside the system, such as the vulnerability in Companies House's handling of company names. The director of the company mentioned that he believed there wouldn't be a problem with the playful name as other companies with similar names had been registered in the past. This indicates a level of trust in the security measures of Companies House and external factors influencing the decision to use such a name [107352].
Nature (Human/Non-human) non-human_actions, human_actions (a) The software failure incident in this case occurred due to non-human actions, specifically due to a vulnerability in the Companies House system that allowed for cross-site scripting. The company's name was crafted in a way that exploited this vulnerability, demonstrating how a simple technique could pose a security risk [107352]. (b) On the other hand, human actions also played a role in this incident. The director of the company intentionally chose a name containing HTML script tags, not realizing the potential security implications of such a name. Additionally, the director took proactive steps by contacting Companies House and the National Cyber Security Centre upon realizing the issue, showing human involvement in both causing and addressing the software failure incident [107352].
Dimension (Hardware/Software) software (a) The software failure incident reported in Article #107352 was not directly related to hardware issues. The incident was caused by a vulnerability in the way Companies House handled company names containing HTML script tags, leading to a security risk known as cross-site scripting (XSS) [107352]. (b) The software failure incident in Article #107352 was primarily due to contributing factors originating in software. The company's name was crafted in a way that exploited a vulnerability in Companies House's system, allowing for potential cross-site scripting attacks. This incident highlights a software flaw in how the system processed and displayed company names, leading to a security risk [107352].
Objective (Malicious/Non-malicious) malicious (a) The objective of the software failure incident was malicious. The company intentionally used a name containing HTML script tags in order to exploit a vulnerability at Companies House. The script tags were designed to demonstrate a security weakness known as cross-site scripting, which could potentially be used by malicious attackers for harmful purposes [107352]. (b) The incident was non-malicious in the sense that the company director claimed he registered the company with the playful name without realizing the potential security implications. He mentioned that he thought it would be a fun and playful name for his consulting business and did not anticipate the security risk associated with it. Additionally, he promptly contacted Companies House and the National Cyber Security Centre upon realizing the issue, showing a lack of malicious intent [107352].
Intent (Poor/Accidental Decisions) accidental_decisions (a) The intent of the software failure incident was not due to poor decisions but rather accidental decisions. The company's original name containing HTML script tags was chosen by the British software engineer purely for fun and playful reasons without realizing the security implications it could pose. The engineer did not intend to cause harm but rather thought it would be a creative name for his consulting business. The incident was a result of an unintended consequence of using characters that could exploit vulnerabilities in systems like Companies House [107352].
Capability (Incompetence/Accidental) development_incompetence, accidental (a) The software failure incident in Article 107352 can be attributed to development incompetence. The company's original name was crafted in a way that exploited a vulnerability in Companies House's system, known as "cross-site scripting." The British software engineer who set up the company did not realize the security risk posed by using HTML script tags in the company name. This lack of understanding of the potential consequences of such a naming convention reflects a level of incompetence in terms of security awareness and professional competence in software development [107352]. (b) Additionally, the incident can also be categorized as accidental. The director of the company mentioned that he did not anticipate any problems with the playful name he chose for his consulting business. He believed that since characters like ">" and "" were allowed in company names, there wouldn't be any issues. This lack of foresight and understanding of the potential security implications can be seen as an accidental oversight that led to the software failure incident [107352].
Duration temporary The software failure incident described in the article is more aligned with a temporary failure rather than a permanent one. The incident occurred due to a specific circumstance where a company registered a name containing HTML script tags that could pose a security risk. Companies House took immediate steps to mitigate the risk, removed the original name from its data feeds, and put measures in place to prevent a similar occurrence in the future. This indicates that the failure was temporary and was addressed promptly to prevent further security issues [Article 107352].
Behaviour other (a) crash: The software failure incident in the article did not involve a crash where the system lost state and did not perform any of its intended functions. The failure was related to a security risk posed by the company's name containing HTML script tags, which could potentially allow for cross-site scripting attacks [Article 107352]. (b) omission: The incident did not involve a failure due to the system omitting to perform its intended functions at an instance(s). The issue was more related to a security vulnerability in the company's name that could be exploited for cross-site scripting attacks [Article 107352]. (c) timing: The failure was not due to the system performing its intended functions correctly but too late or too early. It was more about the potential security risk posed by the company's name containing HTML script tags [Article 107352]. (d) value: The software failure incident did not involve a failure due to the system performing its intended functions incorrectly. The issue was more about a security vulnerability in the company's name that could be exploited for cross-site scripting attacks [Article 107352]. (e) byzantine: The incident did not involve the system behaving erroneously with inconsistent responses and interactions. The focus was on the security risk posed by the company's name containing HTML script tags [Article 107352]. (f) other: The behavior of the software failure incident in this case can be categorized as a security vulnerability related to the use of HTML script tags in the company's name, potentially allowing for cross-site scripting attacks. This behavior falls outside the specific options provided [Article 107352].

IoT System Layer

Layer Option Rationale
Perception None None
Communication None None
Application None None

Other Details

Category Option Rationale
Consequence theoretical_consequence (a) death: People lost their lives due to the software failure (b) harm: People were physically harmed due to the software failure (c) basic: People's access to food or shelter was impacted because of the software failure (d) property: People's material goods, money, or data was impacted due to the software failure (e) delay: People had to postpone an activity due to the software failure (f) non-human: Non-human entities were impacted due to the software failure (g) no_consequence: There were no real observed consequences of the software failure (h) theoretical_consequence: There were potential consequences discussed of the software failure that did not occur (i) other: Was there consequence(s) of the software failure not described in the (a to h) options? What is the other consequence(s)? The consequence of the software failure incident described in the article is related to potential security risks posed by the company's name containing HTML script tags. The software failure incident could have allowed an attacker to run code from one website on another, potentially leading to more damaging ends. However, there were no reported real observed consequences such as death, harm, basic needs impact, property loss, or delays due to this software failure incident. The incident was more focused on the security vulnerability and the potential risks associated with it [107352].
Domain information, government (a) The failed system was related to the information industry as it involved Companies House, a government agency responsible for maintaining and publishing information about companies [107352].

Sources

Back to List