- Qualys는 OpenSSH에서 전달된 SSH 에이전트에서 원격 코드 실행이 가능한 취약점을 발견함.
- SSH 에이전트 전달은 주로 CI/CD 등에서 인증 정보를 직접 저장하지 않고, 원격에 있는 인증 정보를 사용하여 로그인을 시도할 때 주로 사용됨.
- 취약점은 SSH 에이전트가 PKCS11 지원을 허용하는 부분에서 발생.
- PKCS11 지원을 위해 원격 사용자가 신뢰할 수 있는 위치의 공유 라이브러리를 로딩하고 닫는 것을 허용함.
- Ubuntu Desktop에서 존재하는 모든 기본 설치된 공유 라이브러리를 모두 테스트한 결과, 기본 라이브러리는 보통 닫힐 수 있게 설계되지 않았기 때문에 SSH 에이전트에서 닫을 때 오류가 발생.
- 이런 오류들은 몇몇 시스템 신호를 발생시키고, 이러한 것을 조합하여 원격에서 임의의 코드를 실행시키는데 성공.
- OpenSSH는 단순히 원격 PKCS11 지원을 비활성화하고, 공유 라이브러리를 화이트 리스트로 관리하도록 수정함.
- 기존에는 lib 폴더 밑에 있는 모든 공유 라이브러리를 로딩할 수 있었음.
- SSH 에이전트 전달 기능을 사용한다면 필요하지 않은 경우 PKCS11 지원을 비활성화 해야함.