Code Smell 261 – DigiCert Underscores

Don’t forget to check strings with special characters like underscores

TL;DR: Underscore and special characters can lead to validation errors

Problems

Incomplete Validation
Security Risks
Missed Tests
Incorrect Setup
System Inconsistenc…


This content originally appeared on DEV Community and was authored by Maxi Contieri

Don't forget to check strings with special characters like underscores

TL;DR: Underscore and special characters can lead to validation errors

Problems

  • Incomplete Validation
  • Security Risks
  • Missed Tests
  • Incorrect Setup
  • System Inconsistency
  • Breaking changes with legacy data

Solutions

  1. Use consistent prefix
  2. Implement strict validation
  3. Check system outputs
  4. Create migration tests
  5. Test with legacy data

Context

In digital certificate validation, ensuring domain control is critical.

An incomplete validation and potential security issues.

DigiCert recently encountered such a problem, where they missed adding an underscore prefix.

This resulted in certificates being issued without proper validation and a cascade of broken sites with few advancement notices.

Sample Code

Wrong

// Incorrect random value without underscore
let random_value = format!("{}", generate_random_value());
setup_dns_record(
  &format!("_{}.example.com", random_value),
  "dcv.digicert.com");

Right

// Correct random value with underscore
let random_value = format!("_{}", generate_random_value());
setup_dns_record(&random_value, "dcv.digicert.com");

Detection

[X] Manual

You can detect this smell by reviewing the validation process and checking if all required prefixes are consistently applied.

You should also store historical data and check the new rules applied to them.

Tags

  • Security

Level

[X] Advanced

AI Generation

AI-generated code might miss adding specific prefixes unless explicitly instructed.

This can lead to security risks if the generated code is not thoroughly reviewed.

AI Detection

With proper examples and instructions, AI tools can be trained to detect missing prefixes in generated or existing code.

Conclusion

Skipping an essential part of the validation process, like an underscore prefix, can lead to significant issues.

Ensuring such steps are consistently applied and reviewed is crucial for maintaining system integrity and security.

Relations

More Info

Revocation Incident

DigiCert revocation

Domain Validation Bug

Disclaimer

Code Smells are my opinion.

Credits

Photo by Markus Spiske on Unsplash

Security is a process, not a product

Bruce Schneier

This article is part of the CodeSmell Series.


This content originally appeared on DEV Community and was authored by Maxi Contieri


Print Share Comment Cite Upload Translate Updates
APA

Maxi Contieri | Sciencx (2024-08-03T21:35:00+00:00) Code Smell 261 – DigiCert Underscores. Retrieved from https://www.scien.cx/2024/08/03/code-smell-261-digicert-underscores/

MLA
" » Code Smell 261 – DigiCert Underscores." Maxi Contieri | Sciencx - Saturday August 3, 2024, https://www.scien.cx/2024/08/03/code-smell-261-digicert-underscores/
HARVARD
Maxi Contieri | Sciencx Saturday August 3, 2024 » Code Smell 261 – DigiCert Underscores., viewed ,<https://www.scien.cx/2024/08/03/code-smell-261-digicert-underscores/>
VANCOUVER
Maxi Contieri | Sciencx - » Code Smell 261 – DigiCert Underscores. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/08/03/code-smell-261-digicert-underscores/
CHICAGO
" » Code Smell 261 – DigiCert Underscores." Maxi Contieri | Sciencx - Accessed . https://www.scien.cx/2024/08/03/code-smell-261-digicert-underscores/
IEEE
" » Code Smell 261 – DigiCert Underscores." Maxi Contieri | Sciencx [Online]. Available: https://www.scien.cx/2024/08/03/code-smell-261-digicert-underscores/. [Accessed: ]
rf:citation
» Code Smell 261 – DigiCert Underscores | Maxi Contieri | Sciencx | https://www.scien.cx/2024/08/03/code-smell-261-digicert-underscores/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.