Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix vulnerability - Multiple Slashes and Encoded Characters (//\\): T… #210

Merged
merged 9 commits into from
Feb 24, 2025

Conversation

jenovateurs
Copy link
Contributor

Multiple Slashes and Encoded Characters (//\): The use of multiple slashes (///) and the encoded characters (%5C) in the URL indicates improper sanitization or validation of user inputs, which can allow malicious actors to bypass security filters and manipulate redirection behavior.

Shamzic and others added 5 commits November 20, 2024 15:52
* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* feat: ajoute un wrapper pour capturer les erreurs des crons sur sentry

* feat: add sentry-cli

* fix: indentation

* fix: sentry-cli install

* fix: sentry_wrapper_cron path

* fix: sentry wrapper fonctionnel
* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* Ajout wrapper cron sentry (#204)

* feat: ajoute un wrapper pour capturer les erreurs des crons sur sentry

* feat: add sentry-cli

* fix: indentation

* fix: sentry-cli install

* fix: sentry_wrapper_cron path

* fix: sentry wrapper fonctionnel

* fix: arg invalide en production - install ansible

* chore: bump pm2 v5.4.2 (#206)

* fix: utilise apt pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* chore: reset pm2 v5.2

* fix: setup openfisca install

* Debian 11 to 12 (#208)

* fix: ajout de paramétrage pour gérer les M1 plus proprement

* feat: passage a la version 12 de debian

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>

* chore: upgrade pm2 version

* trigger CD

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>
…he use of multiple slashes (///) and the encoded characters (%5C) in the URL indicates improper sanitization or validation of user inputs, which can allow malicious actors to bypass security filters and manipulate redirection behavior.
* feat: setup la roation des journaux systemd

* lint: handler name

* fix: la casse du notify pour restart systemd-journald

* refactor: rotation des logs fixée à 30 jours
@jenovateurs jenovateurs requested a review from Shamzic January 29, 2025 10:59
@Shamzic
Copy link
Contributor

Shamzic commented Jan 30, 2025

Cette proposition ne me semble pas effective sur le port openfisca en local. Quelle a été ta procédure de test ?

Sur le terminal de mon container local:

# curl localhost:2001///%5Cbeta.gouv.fr/
<!doctype html>
<html lang=en>
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to the target URL: <a href="/\beta.gouv.fr">/\beta.gouv.fr</a>. If not, click the link.

@jenovateurs
Copy link
Contributor Author

Ma procédure de test :
J'ai modifié le fichier : /etc/nginx/sites-enabled/openfisca.eclipse.mes-aides.incubateur.net.conf et j'ai ajouté le code de la PR.
Puis j'ai testé en ligne et j'ai bien une erreur.
Je vais tenter de retester en local avec Vagrant.

@Shamzic
Copy link
Contributor

Shamzic commented Feb 10, 2025

Ma procédure de test : J'ai modifié le fichier : /etc/nginx/sites-enabled/openfisca.eclipse.mes-aides.incubateur.net.conf et j'ai ajouté le code de la PR. Puis j'ai testé en ligne et j'ai bien une erreur. Je vais tenter de retester en local avec Vagrant.

J'attends ton retour pour le test en local.

La redirection semble toujours effective : https://openfisca.eclipse.mes-aides.incubateur.net///%5Cbeta.gouv.fr/

@jenovateurs
Copy link
Contributor Author

Screenshot 2025-02-17 at 10 32 23

J'ai mis de nouveau le code sur le fichier de configuration et cela fonctionne bien en ligne.
Maintenant, je vais patienter pour le test en local et le réadapter si cela ne tombe pas au bon endroit.
Merci pour ton retour @Shamzic

@jenovateurs
Copy link
Contributor Author

Après avoir coupé nginx sur mon local, OF répond toujours, car ta commande appel directement openfisca python et ne passe pas par nginx. C'est pour cela que ça fonctionne en ligne pour moi mais que je n'arrive à le vérifier en local.

@jenovateurs
Copy link
Contributor Author

Le curl marche aussi en local sans passer par docker quand tu lances OF avec AJ

@jenovateurs
Copy link
Contributor Author

Le soucis est aussi présent ici : https://api.demo.openfisca.org/latest en rajoutant le paramètre :
https://api.demo.openfisca.org/latest///%5Cbeta.gouv.fr/

@jenovateurs
Copy link
Contributor Author

@jenovateurs
Copy link
Contributor Author

Je pense que mon approche de base est à utiliser pour être rapide et faire une issue sur le repo d'OF pour en parler avec la communauté. Tu en penses quoi @Shamzic ?

@jenovateurs
Copy link
Contributor Author

J'ai fait une petite modification pour spécifier l'ajout de mon code sur du service OF et pas pour tout AJ.

@Shamzic
Copy link
Contributor

Shamzic commented Feb 18, 2025

Je ne suis pas sûr de comprendre comment tu testes tes modifications en local avec Vagrant sans passer par Docker, peut-être qu'en visio tu pourras me montrer, je n'ai peut-être pas la bonne pratique (?)

@jenovateurs jenovateurs changed the base branch from main to dev February 24, 2025 14:55
@jenovateurs jenovateurs merged commit a47f98c into dev Feb 24, 2025
3 checks passed
@jenovateurs jenovateurs deleted the fix-vulnerability branch February 24, 2025 15:04
jenovateurs added a commit that referenced this pull request Feb 24, 2025
* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* Ajout wrapper cron sentry (#204)

* feat: ajoute un wrapper pour capturer les erreurs des crons sur sentry

* feat: add sentry-cli

* fix: indentation

* fix: sentry-cli install

* fix: sentry_wrapper_cron path

* fix: sentry wrapper fonctionnel

* fix: arg invalide en production - install ansible

* chore: bump pm2 v5.4.2 (#206)

* fix: utilise apt pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* chore: reset pm2 v5.2

* fix: setup openfisca install

* Debian 11 to 12 (#208)

* fix: ajout de paramétrage pour gérer les M1 plus proprement

* feat: passage a la version 12 de debian

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>

* chore: upgrade pm2 version

* trigger CD

* Màj preprod (#211)

* Ajout wrapper cron sentry (production) (#198)

* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* feat: ajoute un wrapper pour capturer les erreurs des crons sur sentry

* feat: add sentry-cli

* fix: indentation

* fix: sentry-cli install

* fix: sentry_wrapper_cron path

* fix: sentry wrapper fonctionnel

* Merge dev -> main (#207)

* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* Ajout wrapper cron sentry (#204)

* feat: ajoute un wrapper pour capturer les erreurs des crons sur sentry

* feat: add sentry-cli

* fix: indentation

* fix: sentry-cli install

* fix: sentry_wrapper_cron path

* fix: sentry wrapper fonctionnel

* fix: arg invalide en production - install ansible

* chore: bump pm2 v5.4.2 (#206)

* fix: utilise apt pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* chore: reset pm2 v5.2

* fix: setup openfisca install

* Debian 11 to 12 (#208)

* fix: ajout de paramétrage pour gérer les M1 plus proprement

* feat: passage a la version 12 de debian

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>

* chore: upgrade pm2 version

* trigger CD

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>

* Setup la roation des journaux systemd (#209)

* feat: setup la roation des journaux systemd

* lint: handler name

* fix: la casse du notify pour restart systemd-journald

* refactor: rotation des logs fixée à 30 jours

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>

* fix vulnerability - Multiple Slashes and Encoded Characters (//\\): T… (#210)

* Ajout wrapper cron sentry (production) (#198)

* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* feat: ajoute un wrapper pour capturer les erreurs des crons sur sentry

* feat: add sentry-cli

* fix: indentation

* fix: sentry-cli install

* fix: sentry_wrapper_cron path

* fix: sentry wrapper fonctionnel

* Merge dev -> main (#207)

* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* Ajout wrapper cron sentry (#204)

* feat: ajoute un wrapper pour capturer les erreurs des crons sur sentry

* feat: add sentry-cli

* fix: indentation

* fix: sentry-cli install

* fix: sentry_wrapper_cron path

* fix: sentry wrapper fonctionnel

* fix: arg invalide en production - install ansible

* chore: bump pm2 v5.4.2 (#206)

* fix: utilise apt pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* fix: utilise environnement virtuel pour l'install ansible

* chore: reset pm2 v5.2

* fix: setup openfisca install

* Debian 11 to 12 (#208)

* fix: ajout de paramétrage pour gérer les M1 plus proprement

* feat: passage a la version 12 de debian

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>

* chore: upgrade pm2 version

* trigger CD

---------

Co-authored-by: Jeremy PASTOURET <[email protected]>

* fix vulnerability - Multiple Slashes and Encoded Characters (//\\): The use of multiple slashes (///) and the encoded characters (%5C) in the URL indicates improper sanitization or validation of user inputs, which can allow malicious actors to bypass security filters and manipulate redirection behavior.

* Setup la roation des journaux systemd (#209)

* feat: setup la roation des journaux systemd

* lint: handler name

* fix: la casse du notify pour restart systemd-journald

* refactor: rotation des logs fixée à 30 jours

* ajout d'une condition de spécification

* fix: repositionnement du commentaire de blocage de redirection

* bookwarm to bookworm

---------

Co-authored-by: Simon Hamery <[email protected]>

* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* trigger CD

* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* trigger CD

* chore: upgrade version github actions (cd.yml) (#201)

downgrade python github action to v4

fix cd

* trigger CD

---------

Co-authored-by: Simon Hamery <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants