SQL Injection and Cross-site Scripting in class-validator
        
  Critical severity
        
          GitHub Reviewed
      
        Published
          Oct 12, 2021 
          to the GitHub Advisory Database
          •
          Updated Jan 27, 2023 
      
  
Description
        Published by the National Vulnerability Database
      Oct 24, 2019 
    
  
        Reviewed
      Oct 8, 2021 
    
  
        Published to the GitHub Advisory Database
      Oct 12, 2021 
    
  
        Last updated
      Jan 27, 2023 
    
  
In TypeStack class-validator,
validate()input validation can be bypassed because certain internal attributes can be overwritten via a conflicting name. Even though there is an optionalforbidUnknownValuesparameter that can be used to reduce the risk of this bypass, this option is not documented and thus most developers configure input validation in the vulnerable default manner. With this vulnerability, attackers can launch SQL Injection or XSS attacks by injecting arbitrary malicious input.The default settings for
forbidUnknownValueshas been changed totruein 0.14.0.NOTE: a software maintainer agrees with the "is not documented" finding but suggests that much of the responsibility for the risk lies in a different product.
References