ReDoS attacks
- https://github.com/jbgutierrez/path-parse/commit/09e1086512bd50f2767b8c32fa74c0ff0be4c8cd
- diff 보다가 눈에 띄는 키워드가 있어서 찾아보았다
- 알고리즘 복잡도 공격 ㄷㄷㄷ. 정규식 평가에 매우 긴 시간을 걸리게 한다
테스트
1 | console.time(0); |
a
가 많아질수록 급격하게 평가하는데 오래 걸리는 모습이다- 복잡한 정규식을 짤 때 성능 테스트가 동반되어야 할 것 같다
- 인풋의 길이 등 사전에 필터링해줄 수 있는 것들은 필터링해주면 좋을 것 같다
참고
ReDoS attacks