พบช่องโหว่ Authentication Bypass บน Apache Shiro

เมื่อวันที่ 29 มิถุนายน 2565 ที่ผ่านมา ทาง Apache Shiro ได้ออกมาประกาศเกี่ยวกับช่องโหว่ Bypass การตรวจสิทธิ์ ระดับความรุนแรงสูง โดยมีหมายเลข CVE-2022-32532 โดยช่องโหว่ Apache Shiro เกิดจากแอปพลิเคชั่นที่ใช้ RegExPatternMatcher ด้วย “.” ใน Regular expression ซึ่งทำให้ผู้โจมตีสามารถส่งคำสั่ง HTTP ที่ออกแบบมาเป็นพิเศษเพื่อหลีกเลี่ยงกระบวนการตรวจสอบสิทธิ์ และสามารถเข้าถึงแอปพลิเคชันโดยไม่ได้รับอนุญาตได้

Apache Shiro เป็น Java security framework ที่มีประสิทธิภาพ และใช้งานง่าย ซึ่งใช้งานสำหรับ Authentication, Authorization, Cryptograph และ Session Management และด้วย API ที่ใช้งานได้ง่ายของ Shiro จึงสามารถนำมาใช้กับแอปพลิเคชั่นใด ๆ ได้อย่างรวดเร็ว และง่ายดาย ทั้งจากแอปพลิเคชั่นบนมือถือ ไปจนถึงเว็บ และแอปพลิเคชั่นในระดับองค์กร

Apache Shiro เวอร์ชันที่มีช่องโหว่คือเวอร์ชันตั้งแต่ 1.9.0 ลงไป ซึ่งปัจจุบัน Apache Shiro ออกเวอร์ชัน 1.9.1 เพื่อแก้ไขช่องโหว่ดังกล่าวแล้วดังนี้

[SHIRO-871] – ActiveDirectoryRealm – append suffix only if missing from username
[SHIRO-872] – fix Reproducible Builds issues
[SHIRO-883] – Add support for case insensitive regex path matching Dependency upgrade
[SHIRO-878] – Update Spring Dependencies to 5.2.20
[SHIRO-882] – Upgrade to apache pom parent 26
[SHIRO-881] – pom.