설명
보안 관련 파일에 그룹 또는 다른 사용자의 쓰기 권한을 부여하면, 그 권한을 가진 신뢰하지 않는 사용자가 내용을 수정할 수 있습니다.
잠재적 영향
- 설정 변조, 권한 상승, 코드 또는 데이터 교체가 발생할 수 있습니다.
해결 방법
민감 파일은 최소 권한으로 만들고 일반적으로 0600 또는 더 제한적인 모드를 사용하세요. 파일 소유자와 상위 디렉터리의 변경 권한도 확인하세요.
예시
변경 전
c
open("/var/app/config", O_CREAT | O_WRONLY, 0666);
변경 후
c
open("/var/app/config", O_CREAT | O_WRONLY, 0600);
설명:
- 변경 전: 새 파일에 그룹·다른 사용자의 쓰기 비트를 요청합니다. 실제 권한은
umask와 ACL에도 영향을 받습니다. - 변경 후: 새 파일에 소유자 읽기·쓰기만 요청합니다.
open의 모드 인자는 기존 파일의 권한을 변경하지 않으므로, 기존 파일의 소유권과 실제 권한은 별도로 확인하세요. 예시는 신뢰하는 디렉터리와 경로를 전제로 합니다.