ID: 560 類型:變量 |
狀態:草稿 |
描述
該產品調用umask()時使用的參數不正確,該參數被指定爲chmod()的參數。
相關視圖
與“研究層面”視圖(CWE-1000)相關
與“開發層面”視圖(CWE-699)相關
引入模式
階段 |
說明 |
實現 |
應用平臺
語言
C (出現的可能性不確定)
後果
範圍 |
衝擊 |
可能性 |
保密性 |
技術衝擊: 讀文件或者目錄; 修改文件或目錄; 越過保護機制 |
應對措施
階段: 實現 使用umask()時候參數要保證正確 |
階段: 測試 如果懷疑umask()被誤用,可以使用grep來發現umask()的調用實例。 |
種屬
關係 |
類型 |
ID |
名稱 |
屬於 |
946 |
說明
其它
umask()手冊頁以錯誤語句開頭:“umask將umask設置爲mask&0777”,儘管此行爲最好與chmod()的用法一致,其中用戶提供的參數指定要在指定文件上啓用的位,但umask()的行爲實際上與之相反:umask()將umask設置爲~mask&0777。umask()手冊頁繼續描述umask()的正確用法:“open()使用umask爲新創建的文件設置初始文件權限。具體來說,umask中的權限從模式參數關閉到打開(2)(例如,常見的umask默認值022會導致使用權限0666創建新文件,而在通常情況下,該模式指定爲0666)。