Title: fix: validate config section delimiters by Byron · Pull Request #2176 · gitpython-developers/GitPython · GitHub
Open Graph Title: fix: validate config section delimiters by Byron · Pull Request #2176 · gitpython-developers/GitPython
X Title: fix: validate config section delimiters by Byron · Pull Request #2176 · gitpython-developers/GitPython
Description: Tasks This section is for Byron only. Models continuing this PR must not add, remove, check, uncheck, rename, or reorder checkboxes here. refackiew Everything below this line was generated by Codex GPT-5. Created by Codex on behalf of Byron. Byron will review before this is ready to merge. Advisory GHSA-3rp5-jjmw-4wv2 GHSA-3rp5-jjmw-4wv2 Advisory summary Severity: High Package: gitpython (pip) Affected versions: <= 3.1.52 Patched versions: Not yet assigned CVE: Not yet assigned Summary Validate serialized configuration section boundaries at the shared writer entry points. Reject unquoted closing section delimiters while preserving delimiters inside valid quoted subsections. Cover plain and quoted-subsection-shaped unsafe inputs across the public writer APIs, plus a valid quoted-subsection compatibility case. Git baseline Compared with Git at a23bace963d508bd96983cc637131392d3face18: basic section parsing terminates on an unquoted closing bracket, while the extended form permits brackets inside quoted subsection text and requires a final bracket after the closing quote. Validation .venv/bin/pytest test/test_config.py -q — 32 passed, 1 known skip .venv/bin/ruff check git/config.py test/test_config.py .venv/bin/ruff format --check git/config.py test/test_config.py git diff --check Codex commit review completed; its compatibility finding was addressed and the refreshed commit passed review.
Open Graph Description: Tasks This section is for Byron only. Models continuing this PR must not add, remove, check, uncheck, rename, or reorder checkboxes here. refackiew Everything below this line was generated by C...
X Description: Tasks This section is for Byron only. Models continuing this PR must not add, remove, check, uncheck, rename, or reorder checkboxes here. refackiew Everything below this line was generated by C...
Opengraph URL: https://github.com/gitpython-developers/GitPython/pull/2176
X: @github
Domain: Github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:a13bb344-5791-220f-4f54-e4879bb7aa86 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 8950:32D0F1:520C68:71021D:6A639D94 |
| html-safe-nonce | 228b1429f6b31e27eeb8eac677494257a15c381654240ce4542bdabf0c127656 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4OTUwOjMyRDBGMTo1MjBDNjg6NzEwMjFEOjZBNjM5RDk0IiwidmlzaXRvcl9pZCI6IjU0MTg3MjYxODA2MTAzNTA0ODQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 15eeed45bf9eb82486b5e95a8e514eec4e3bf2dfb2121cc6dc9a2caaa28cdf35 |
| hovercard-subject-tag | pull_request:4089200742 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/gitpython-developers/GitPython/pull/2176/files |
| twitter:image | https://avatars.githubusercontent.com/u/63622?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/63622?s=400&v=4 |
| og:image:alt | Tasks This section is for Byron only. Models continuing this PR must not add, remove, check, uncheck, rename, or reorder checkboxes here. refackiew Everything below this line was generated by C... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4ca676e17c4da4532dc68541e9fc874034ae840c26b5f34da7f1c42d9a600659 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/gitpython-developers/GitPython git https://github.com/gitpython-developers/GitPython.git |
| octolytics-dimension-user_id | 503709 |
| octolytics-dimension-user_login | gitpython-developers |
| octolytics-dimension-repository_id | 1126087 |
| octolytics-dimension-repository_nwo | gitpython-developers/GitPython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1126087 |
| octolytics-dimension-repository_network_root_nwo | gitpython-developers/GitPython |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3a0a9f049e072eb8e5795dfddcefdba9e277501d |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width