이것은 버그입니까?
https://github.com/systemd/systemd/blob/v234/src/core/execute.c#L1126
/* Drop privileges - we don't need any to pam_close_session
* and this will make PR_SET_PDEATHSIG work in most cases.
* If this fails, ignore the error - but expect sd-pam threads
* to fail to exit normally */
비교하다http://jdebp.eu./FGA/dont-abuse-su-for-dropping-privileges.html
새로운 구현은 fork()라고 하며 하위 프로세스의 권한만 제거하고 권한 있는 계정은 상위 프로세스에 남겨두고 하위 프로세스가 종료되면 PAM "사용자 세션" 정리 기능을 호출할 수 있습니다. (Ben Collins의 현대 설명을 참조하십시오.) 상위 프로세스에서 열리고 하위 프로세스에서 닫힌 PAM "사용자 세션"의 원래 구현에는 Debian Bug #195048, Debian 등과 같은 버그가 있는 결함이 있는 것으로 밝혀졌습니다. 버그 #580434 및 Debian 버그 #599731, 일명 젠투 버그 #246813권한이 없는 하위 항목은 권한이 있는 상위 항목에서 세션이 열릴 때 이루어진 모든 세션 설정을 취소할 수 있는 액세스 권한이 없기 때문입니다..
다음 10년 동안 PAM 및 su와 관련된 내용이 계속 등장했습니다. 예를 들어, 2004년에는 SELinux 플러그형 인증 모듈에 문제가 있었습니다.
답변1
예. 실제로 이것은 2년 동안 공개된 시스템 버그이지만(작성 당시) 버그 보고서에 따르면 시스템 사람들은 이를 완전히 무시했습니다.
2000년 Ben Collins의 분석과 2001년 David Z Maze의 GDM 로그인 오류 분석에 따르면 pam_close_session()
systemd에는 호기심 많은 사람들이 발견하기를 기다리는 보안 취약점이 있을 수 있습니다.
추가 읽기
- 데이비드 허먼(2015-09-25).PAMName= 및 권한이 없는 pam_close_session(). 시스템 오류 #1350. GitHub.