Commit 4166b8c
committed
fix: validate keyboard-interactive prompts
RFC 4256 section 3.3 forbids an empty prompt, and RFC 4251 section 5
allows only 0 or 1 in a boolean field. Validation runs before the
payload is sized, so the sizing and building passes agree.
- reject a zero-length prompt or one with a NULL buffer
- reject a prompt count with the arrays unset
- reject a prompt over WOLFSSH_MAX_PROMPT_SZ, which the sizing pass
would otherwise sum into a wrapped payload size
- normalize the outgoing echo byte to 0 or 1
- cover the rejections in tests/api.c, the echo byte in tests/auth.c
Issue: F-10583, F-105841 parent 9731cfe commit 4166b8c
4 files changed
Lines changed: 124 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17373 | 17373 | | |
17374 | 17374 | | |
17375 | 17375 | | |
17376 | | - | |
| 17376 | + | |
| 17377 | + | |
17377 | 17378 | | |
17378 | 17379 | | |
17379 | 17380 | | |
| |||
17431 | 17432 | | |
17432 | 17433 | | |
17433 | 17434 | | |
| 17435 | + | |
| 17436 | + | |
| 17437 | + | |
| 17438 | + | |
| 17439 | + | |
| 17440 | + | |
| 17441 | + | |
| 17442 | + | |
| 17443 | + | |
| 17444 | + | |
| 17445 | + | |
| 17446 | + | |
| 17447 | + | |
| 17448 | + | |
| 17449 | + | |
| 17450 | + | |
| 17451 | + | |
| 17452 | + | |
| 17453 | + | |
| 17454 | + | |
| 17455 | + | |
| 17456 | + | |
| 17457 | + | |
| 17458 | + | |
| 17459 | + | |
| 17460 | + | |
| 17461 | + | |
| 17462 | + | |
| 17463 | + | |
17434 | 17464 | | |
17435 | 17465 | | |
17436 | 17466 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7792 | 7792 | | |
7793 | 7793 | | |
7794 | 7794 | | |
| 7795 | + | |
| 7796 | + | |
| 7797 | + | |
| 7798 | + | |
| 7799 | + | |
| 7800 | + | |
| 7801 | + | |
| 7802 | + | |
| 7803 | + | |
| 7804 | + | |
| 7805 | + | |
| 7806 | + | |
| 7807 | + | |
| 7808 | + | |
| 7809 | + | |
| 7810 | + | |
| 7811 | + | |
| 7812 | + | |
| 7813 | + | |
| 7814 | + | |
| 7815 | + | |
| 7816 | + | |
| 7817 | + | |
| 7818 | + | |
| 7819 | + | |
| 7820 | + | |
| 7821 | + | |
| 7822 | + | |
| 7823 | + | |
| 7824 | + | |
| 7825 | + | |
| 7826 | + | |
| 7827 | + | |
| 7828 | + | |
| 7829 | + | |
| 7830 | + | |
| 7831 | + | |
| 7832 | + | |
| 7833 | + | |
| 7834 | + | |
| 7835 | + | |
| 7836 | + | |
| 7837 | + | |
| 7838 | + | |
| 7839 | + | |
| 7840 | + | |
| 7841 | + | |
| 7842 | + | |
| 7843 | + | |
| 7844 | + | |
| 7845 | + | |
| 7846 | + | |
| 7847 | + | |
| 7848 | + | |
| 7849 | + | |
| 7850 | + | |
| 7851 | + | |
| 7852 | + | |
| 7853 | + | |
| 7854 | + | |
| 7855 | + | |
| 7856 | + | |
| 7857 | + | |
| 7858 | + | |
| 7859 | + | |
| 7860 | + | |
| 7861 | + | |
| 7862 | + | |
| 7863 | + | |
| 7864 | + | |
| 7865 | + | |
| 7866 | + | |
| 7867 | + | |
| 7868 | + | |
| 7869 | + | |
| 7870 | + | |
| 7871 | + | |
| 7872 | + | |
7795 | 7873 | | |
7796 | 7874 | | |
7797 | 7875 | | |
| |||
7897 | 7975 | | |
7898 | 7976 | | |
7899 | 7977 | | |
| 7978 | + | |
7900 | 7979 | | |
7901 | 7980 | | |
7902 | 7981 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1832 | 1832 | | |
1833 | 1833 | | |
1834 | 1834 | | |
1835 | | - | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
1836 | 1838 | | |
1837 | 1839 | | |
1838 | 1840 | | |
| |||
1915 | 1917 | | |
1916 | 1918 | | |
1917 | 1919 | | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
1918 | 1923 | | |
1919 | 1924 | | |
1920 | 1925 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
89 | 97 | | |
90 | 98 | | |
91 | 99 | | |
| |||
0 commit comments