GitPython versions before 2.26.0 have an incomplete denylist for unsafe git revision options in the Repo.blame() and Repo.blame_incremental() methods. This flaw allows an attacker to use the --contents or -S options to read arbitrary local files by causing the file's lines to be included in the blame output. The vulnerability arises because these read-related options are not included in the denylist, which only blocks write-related options like --output. This leads to arbitrary file read at the privileges of the host process without requiring user interaction.