The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Уязвимость в NPM-пакете node-netmask, применяемом в 270 тысячах проектах"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в NPM-пакете node-netmask, применяемом в 270 тысячах проектах"  +/
Сообщение от opennews (ok), 29-Мрт-21, 11:22 
В  NPM-пакете node-netmask, насчитывающем около 3 млн загрузок в неделю и используемом в качестве зависимости у более 270 тысяч проектов на GitHub, выявлена  уязвимость (CVE-2021-28918), позволяющая обойти проверки, в которых сетевая маска используется для определения вхождения в диапазоны адресов или для фильтрации. Проблема устранена в выпуске node-netmask 2.0.0...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54857

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Леголасemail (ok), 29-Мрт-21, 11:22   +12 +/
никогда не было и вот опять ©
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #34

2. Сообщение от имятакое (?), 29-Мрт-21, 11:23   –1 +/
вот это не понял.

"0177.0.0.1", которое соответствует "127.0.0.1"

поясните пожалуйста

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #4, #5, #6, #21

3. Сообщение от Ононимусemail (?), 29-Мрт-21, 11:27   +2 +/
Восьмеричная запись начинается с нуля
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

4. Сообщение от Аноним (4), 29-Мрт-21, 11:28   +/
0177 - восьмиричная система счисления
переводим в 10-ю и получаем 127
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

5. Сообщение от A.Stahl (ok), 29-Мрт-21, 11:30   +/
0 в начале числа по традиции у программистов означает 8-ричную систему счисления. 177 в восьмеричной равно 127 в десятичной.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #22

6. Сообщение от Аноним (6), 29-Мрт-21, 11:33   –1 +/
$ ping 0177.0.0.1

PING 0177.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.042 ms

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #7, #23

7. Сообщение от Леголасemail (ok), 29-Мрт-21, 11:39   +8 +/
- поясните пожалуйста, почему это равно этому
- да, смотри, это равно этому
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #15

8. Сообщение от Аноним (8), 29-Мрт-21, 11:39   –5 +/
Было большой ошибкой додуматься до включение восьмеричных чисел в спецификации IP-адресов, которые было очевидно чо в будущем никто читать не будет?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #9, #57, #66, #76

9. Сообщение от Аноним (9), 29-Мрт-21, 11:42   –2 +/
Авторы спеков "так видят", пойми. Скажи спасибо еще римские цифры не добавили.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

12. Сообщение от Аноним (-), 29-Мрт-21, 11:53   –2 +/
Никаких 127.0.0.1 в приличных системах быть не должно !
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #13, #83

13. Сообщение от Аноним (-), 29-Мрт-21, 11:53   +33 +/
ровно как и nodejs
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

14. Сообщение от Аноним (15), 29-Мрт-21, 11:58   +/
В ipv6 такая же ситуация?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #51

15. Сообщение от Аноним (15), 29-Мрт-21, 12:00   +/
Потому что потому (с)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

16. Сообщение от Аноним (66), 29-Мрт-21, 12:01   +/
Зевнул.
Уже даже не смешно.
Норма для ноды, руби и прочих растов с композерами.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #105

17. Сообщение от Анонимно Аффтор (?), 29-Мрт-21, 12:03   +2 +/
Магия и остроумие костыликов: сделать просто - договориться о волшебном значении нуля в начале строки.

А чё, простое и остроумное решение. И сколько ж встречено  таких кроильщиков...

Кроилово ведёт к попадалово.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #60

18. Сообщение от Аноним (15), 29-Мрт-21, 12:07   +8 +/
Вот они удивятся когда узнают что можно не только восьмеричные писать, но и 16-ричные
ping 0x7F.0x0.0x0.0x1
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29, #37

19. Сообщение от Аноним (15), 29-Мрт-21, 12:11   +/
Я пробежал указанный документ. Из него следует что это не особо и то и вина разрабов пакета.

>> So far we've seen two parallel versions of IPv4 address textual

   syntax.

То есть сделали по стандарту. А вот этих стандартов куча и даже больше.

Ответить | Правка | Наверх | Cообщить модератору

20. Сообщение от Аноним (15), 29-Мрт-21, 12:12   +/
Дело не в ноде, а коде inet_aton на C который изначально нарушал стандарт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #25, #30, #52

21. Сообщение от anonymous (??), 29-Мрт-21, 12:15   +/
oct -> dec
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #50

22. Сообщение от Lex (??), 29-Мрт-21, 12:15   +/
Странная традиция
Для интереса посмотрел що в жс как записывается( все начинается с нуля, далее исчисление и само число что гораздо универсальней и наглядней ):

Бинарные - 0b11 ( 3 )
Восьмеричные - 0o11 ( 9 )
Шестнадцатеричные - 0x11 ( 17 )

Хотя и начинание с нуля тож работает - число воспринимается как восьмеричное.. и даже если тех нулей с десяток )

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #27

23. Сообщение от userd (ok), 29-Мрт-21, 12:19   +8 +/
Для полноты картины нужно попинговать 0x7F.0.0.1 , 0x7f.1 , 0x7F000001 , 017700000001 и 2130706433 .
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #62

25. Сообщение от Аноним (25), 29-Мрт-21, 12:29   +2 +/
Именно - дело в коде.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

26. Сообщение от Посылатель нахер (?), 29-Мрт-21, 12:46   +1 +/
Забавно смотреть как поступи ничего из себя не представляющие обитатели местного зоопарка хейтят платформу столь сильно оказывающую влияние на развитие индустриии. Уязвимость даже не в самой платформе а в пакете, пакетный менеджер работает аналогично всем остальным в других платформах. Но нет, побомбить то принято именно с ноды. В святом расте то такое уж точно недопустимо.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #39, #41

27. Сообщение от userd (ok), 29-Мрт-21, 12:49   +1 +/
Кто писал на C, тот привык.
C появился на PDP-11, там восьмеричная система счисления была много популярнее шестнадцатеричной.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

28. Сообщение от mymedia (ok), 29-Мрт-21, 13:03   –1 +/
> Исследователи лишь предполагают, что владельцы 87.0.0.1 (Telecom Italia) и 177.0.0.1 (Brasil Telecom) имеют возможность обойти ограничение доступа к 127.0.0.1.

Не только эти два указанных реальных IP могут обойти проверку. Получается, любые адреса в данных подсетях размера /8, могут обращаться к локалхосту за node-netmask. Так 0177.0177.0177.0177 превратится в 127.127.127.127, а это как раз локальный хост.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #103

29. Сообщение от Аноним (29), 29-Мрт-21, 13:03   +4 +/
Ээээ слушай, канчай шатать наша вселенная нода жс да !
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

30. Сообщение от Урри (ok), 29-Мрт-21, 13:04   +1 +/
а можно детальнее - какой именно стандарт и в чем?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #31

31. Сообщение от Аноним (15), 29-Мрт-21, 13:14   +/
Ну вот ссылка в статье есть на спецификацию
https://tools.ietf.org/html/draft-main-ipaddr-text-rep-02

>>Meanwhile, a very popular implementation of IP networking went off in its own direction.
>>  The 4.2BSD inet_aton() has been widely copied and imitated, and so is a de facto standard for the textual representation of IPv4 addresses.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #42, #45, #74

32. Сообщение от Аноним (32), 29-Мрт-21, 13:16   +/
А если ещё с шестнадцатеричными поиграться...
Ответить | Правка | Наверх | Cообщить модератору

33. Сообщение от Аноним (15), 29-Мрт-21, 13:17   +/
В новом коде насчёт 16-ричных систем тоже баг https://github.com/rs/node-netmask/issues/37
Так что ждём очередного обновления
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #53

34. Сообщение от Dzen Python (ok), 29-Мрт-21, 13:19   +/
Люблю эти Черномырдинки
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

36. Сообщение от Аноним (36), 29-Мрт-21, 13:29   +1 +/
Других программистов на ноде у нас нет.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #54, #87

37. Сообщение от Леголасemail (ok), 29-Мрт-21, 13:29   +4 +/
господа нодисты открыли ящик Пандоры
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #61

38. Сообщение от onanim (?), 29-Мрт-21, 13:35   +1 +/
>  В приложении при оценке правил доступа не будет определена тождественность с "127.0.0.1" и ресурс будет загружен с "0177.0.0.1" (фактически с 127.0.0.1), несмотря на запрет обращения к адресам loopback-интерфейса.

это проблема не в node, а вообще во всех языках.
проверка if ($IP != "127.0.0.1") выдаст true для строки вида "0177.0.0.1", но по факту подключение-то будет к 127.0.0.1, а не к 177.0.0.1.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #46, #47

39. Сообщение от Аноним (25), 29-Мрт-21, 13:44   +1 +/
Уж больно есть что плохого в платформе.

Да. Повлияла на индустрию. Но мир внутри мог бы быть лучше. Увы и ах.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #64, #89

40. Сообщение от Аноним (41), 29-Мрт-21, 13:44   +3 +/
Скажу крамольную, на данном сайте вещь. Но даже сам великий и ужасный Раст не помог бы защититься от такой уязвимости.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #43, #44, #59, #84

41. Сообщение от Аноним (41), 29-Мрт-21, 13:45   +/
На всех (двух) нормальных языках в природе. Пакетный менеджер так не работает (да его и нет)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #90

42. Сообщение от 1 (??), 29-Мрт-21, 13:47   +/
de facto standard
Это и не стандарт вовсе, а "так принято".

А стандарт допускает и десятеричное число в качестве ip адреса.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

43. Сообщение от Аноним (36), 29-Мрт-21, 13:50   –3 +/
Писатели на расте никогда бы не написали код, который строится на допущении, что IP-адрес - это десятичные числа, разделенные точками.

Нужно быть совсем непроцарапанной макакой, чтобы срезать ведущий ноль. Это в языке, где встроенный Number парсит восьмеричные по признаку ведущего нуля и во всех книгах про это в самом начале. То есть либу писали люди, не знающие даже сам джаваскрипт. Это нонсенс.
Надо конкретных программистам волчий билет за такое выдать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #68, #77, #86

44. Сообщение от 1 (??), 29-Мрт-21, 13:51   +1 +/
не вижу в этом уязвимости.
Просто нормальное поведение преобразования адреса.

А кто там себе напридумывал, что локалхост это "^127" пусть обламаются.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

45. Сообщение от Аноним (45), 29-Мрт-21, 13:58   +/
Какие еще стандарты, там галимотья на кофескрипте конвертящая тупостроки. Афтор небось и не слышал ни про какие inet_aton() за все свои 14 лет жизни.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #49

46. Сообщение от Аноним (46), 29-Мрт-21, 13:58   +4 +/
> проверка if ($IP != "127.0.0.1") выдаст true

и для строки вида "127.0.00.1". Сравнивать строковые представления ip адресов — проблема явно не в языках.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

47. Сообщение от onanim (?), 29-Мрт-21, 13:59   +/
... так что проверять юзерский инпут нужно не только на неравность строке "127.0.0.1", но и что это вообще является IP адресом, а не неведомой бинарной фигнёй с кавычками и спецсимволами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #73

48. Сообщение от Аноним (15), 29-Мрт-21, 14:01   +1 +/
В защиту JS могу сказать, что багованный код написан был НЕ на JavaScript.
Ответить | Правка | Наверх | Cообщить модератору

49. Сообщение от Аноним (15), 29-Мрт-21, 14:03   +/
Если задача стояла конвертить строки, то логично что работа идёт в т числе и со строками. Не вижу в этом проблему. А то что автор не смотрел на inet_aton это хорошо, потому что это как раз с него не надо брать пример.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #63

50. Сообщение от Аноним (50), 29-Мрт-21, 14:10   +4 +/
oct -> nov -> dec, неуч
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #75

51. Сообщение от Аноним (50), 29-Мрт-21, 14:11   +3 +/
Другая.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

52. Сообщение от Онаним (?), 29-Мрт-21, 14:23   +4 +/
Дело снова в отсутствии полноценной валидации входных данных.
То есть в кривых руках.
А заодно - в избыточном доверии к стороннему говнокоду.
То есть снова в кривых руках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

53. Сообщение от Онаним (?), 29-Мрт-21, 14:24   +1 +/
Муахах блдажд.
Называется - footmade code.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

54. Сообщение от Онаним (?), 29-Мрт-21, 14:25   +1 +/
И не надо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

55. Сообщение от Аноним (55), 29-Мрт-21, 14:32   +3 +/
"Уязвимость = NPM-пакет".

Предлагаю всем заучить эту формулу.

Ответить | Правка | Наверх | Cообщить модератору

56. Сообщение от Аноним (56), 29-Мрт-21, 14:50   +1 +/
Если бы это была уязвимость, то обновление вышло бы как 1.0.7.
А это явно фича, и пакет теперь 2.0.0.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #58

57. Сообщение от gogo (?), 29-Мрт-21, 14:50   +2 +/
Для своих целей восьмиричные числа весьма наглядные.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

58. Сообщение от gogo (?), 29-Мрт-21, 14:57   +/
Точно. Чтобы у те, кто хочет оставить себе этот баг в системе, могли не апдейтить зависимость на версию 2.х
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #70

59. Сообщение от Анонимъ (?), 29-Мрт-21, 15:09   +/
От кривых рук спасает только ампутация. Да и вообще, с чего вы взяли, что Rust что-то там кому-то обещает? Единственная заслуга Rust - это возможность делать некоторые проверки на этапе компиляции.

А так: https://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.ht...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #69

60. Сообщение от ryoken (ok), 29-Мрт-21, 15:12   +/
Вы таки будете смеяться, но если в вендовой командной строке так что-то попинговать - будет соответствие RFC и пинги поедут на 8-ричный адрес :D.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #65

61. Сообщение от Аноним (61), 29-Мрт-21, 15:13   +1 +/
Нее. Тот ящик на всех подействовал. И был чужим.
А эти сами себе всё делают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

62. Сообщение от Tester (??), 29-Мрт-21, 15:18   +/
А ведь работает даже под виндой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

63. Сообщение от Аноним (-), 29-Мрт-21, 15:42   +1 +/
Ну еслиб тебя не роняли в детстве на голову так часто - то смог бы осилить айпи адресацию и понимал  как это работает, а не нёс пургу в духе "если там строки то в том числе и строки"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #92

64. Сообщение от Аноним (-), 29-Мрт-21, 15:44   +/
> Да. Повлияла на индустрию

нет

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #88

65. Сообщение от Анонимно Аффтор (?), 29-Мрт-21, 16:07   +2 +/
Поинт в другом. Сокрытие настоящего типа объекта приводит к внезапности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

66. Сообщение от Аноним (66), 29-Мрт-21, 16:36   +/
Обезьянки взяли спеки, и написали "по спекам", как привыкли.
В реальном мире всё оказалось гораздо неожиданнее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

67. Сообщение от Аноним (67), 29-Мрт-21, 16:36   +1 +/
С годоми уровень программеров очень упал.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #71

68. Сообщение от Аноним (68), 29-Мрт-21, 16:47   +1 +/
Стандарт допускает восьмеричные числа в айпи-адресе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

69. Сообщение от Аноним (68), 29-Мрт-21, 16:48   +1 +/
Это фракталята тут постоянно вещают. Сами не знают о чем.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

70. Сообщение от Аноним (68), 29-Мрт-21, 16:51   +/
Так может у них код приложения именно так и написан чтобы эта либа принимала восьмеричные значения. Чтобы ничего не ломать надо повышать версию.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

71. Сообщение от Аноним (68), 29-Мрт-21, 16:51   –1 +/
Больше кода больше багов. Не надо грязи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #81

73. Сообщение от пох. (?), 29-Мрт-21, 17:08   +2 +/
А чо не так-то в моем юзерском инпуте ? Как по мне - норм же ж ip-адрес?!
linups:~> ping 0x7f.0.0.1
PING 0x7f.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.064 ms
^C
--- 0x7f.0.0.1 ping statistics ---
Всегда ж так пингую

Вот додуматься сравнивать их как СТРОКИ - это действительно какие-то уникальные грибы у этих ребят уродились. Не надо таких жрать, а то так и останешься поехавшим.

Ну и просто прекрасно именно то, что такой костылекод используется примерно везде, где они работают с адресами.

Помнити npm leftpad!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

74. Сообщение от Урри (ok), 29-Мрт-21, 17:13   +/
Не вижу нарушения. Может подскажете где именно?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

75. Сообщение от Ыыы (??), 29-Мрт-21, 17:22   +3 +/
Почему католические программисты путают Хеллоуин и Рождество?
Потому, что Oct 31 === Dec 25
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

76. Сообщение от Аноним (76), 29-Мрт-21, 17:26   +/
> было большой ошибкой додуматься...

Ваша способность выявлять ошибки вызывает сомнения

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

77. Сообщение от Аноним (77), 29-Мрт-21, 18:34   +2 +/
println!("{:?}", "0177.0.0.1".parse::<Ipv4Addr>());

Ok(177.0.0.1)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

78. Сообщение от Аноним (78), 29-Мрт-21, 19:00   +/
ребят, а как же говорили что Линукс, ГНУ, Опенсурс - это надежно, нет бакдоров, суперсекюрити, потому что тысячи глаз смотрят код, он открытый, это гарантирует, что он в тысячу раз лучшее и надежнее, чем закрытый Уиндоус. Как же так? Неужели врали все эти десятки лет??!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #91, #99

79. Сообщение от Аноним (92), 29-Мрт-21, 19:21   +/
Кучу валидаторов писала и не знала об этом.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #98

81. Сообщение от Аноним (-), 29-Мрт-21, 19:28   +/
Базовая, либсишная функция со времен появления айпи. Откуда его вдруг за пол века стало больше ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

82. Сообщение от Аноним (82), 29-Мрт-21, 19:30   +1 +/
Это даже уязвимостью назвать нельзя.

Библиотека явно предполагает на входе IP-адрес в десятичном формате, и не заявляет, что занимается валидацией. Не провалидировал - сам себе буратино. Типичный gargabe in - garbage out.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #93

83. Сообщение от валяйте (?), 29-Мрт-21, 19:42   +1 +/
Как избавиться предлагаеш от 127..0.0.1?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #102

84. Сообщение от Аноним (92), 29-Мрт-21, 19:54   +/
Точно? У rust есть поддержка up адресов в стандартной библиотеке. Вроде бы. У java точно есть. У питона даже маски есть. А у js нет ничего
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #85, #94

85. Сообщение от Аноним (92), 29-Мрт-21, 19:55   +/
Ip адресов
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

86. Сообщение от Аноним (92), 29-Мрт-21, 20:02   +/
0177.0.0.1 даже стандартная регулирочка из всех книжек по программированию не пропустит. Никто не ожидает что в адресе будут какие то  восьмиричные числа.
Кроме анонимных опеннет экспертов, конечно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

87. Сообщение от Аноним (87), 29-Мрт-21, 21:30   +/
Либу писали кофескриптисты, не надо их примешать к нодистам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #96

88. Сообщение от Твой батя (?), 29-Мрт-21, 21:36   +/
Одинэсника ответ
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

89. Сообщение от Твой батя (?), 29-Мрт-21, 21:37   +/
А мог быть и хуже. Назови любой язык и я его обосру. Толку то?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #101

90. Сообщение от Твой батя (?), 29-Мрт-21, 21:39   +/
Не пишешь эти два языка во избежание унижения?)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

91. Сообщение от Аноним (91), 29-Мрт-21, 23:52   +/
Тысячи глаз и нашли. Обновись просто. В npm выводит предупреждения, если есть vulnerable
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

92. Сообщение от Аноним (92), 30-Мрт-21, 09:15   +/
Если бы тебя не роняли в детстве, ты бы не писал чушь в комментариях
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

93. Сообщение от пох. (?), 30-Мрт-21, 09:42   +1 +/
> Библиотека явно предполагает на входе IP-адрес в десятичном формате,

и плевать что ее единственная задача - преобразование форматов.
Ну оок.

Давайте подключим еще пятнадцать библиотек чтобы провалидировать. И потом в них будем искать увизгвимости отдельно.

Ведь на ноде-макакс нельзя самому в три строки уместить то же самое, надо обязательно втянуть список зависимостей на две страницы.

И продолжим сравнивать ip адреса как строки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

94. Сообщение от пох. (?), 30-Мрт-21, 10:02   +/
Дык, вот такая поддержка у них и есть:  "Проблеме подвержена стандартная библиотека std::net::Ipv4Addr языка Rust"

Ну с чего бы хрустерам уметь думать в голову. Они ж туда едят!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

95. Сообщение от PnD (??), 30-Мрт-21, 11:43   +1 +/
Что-то мне никак не хватает воображения представить эксплоит.
Типовая задача "прикрыть что-то ACL" предполагает что какие надо CIDR пишет администратор системы. Да хоть "0x7F000000/8", если его библиотека такое переваривает (и коллеги не поколотят).

С другой стороны, адрес прилетевшего v4-пакета прописан 32 битами без знака. И ничего там не нахимичишь. Если только "сетевой" порядок с "обычным" перепутать. Но такие ляпы уже́ много лет как покрыты тестами.

Что остаётся? Системы, в которых пользователю разрешено что-то заслать на адрес. E.g. looking-glass. Но там адрес можно вколотить любой "by design" и это не дыра.

Или какие-то наркоманы конвертят uint32 в oct-строку и потом её сравнивают? Тогда "огласите весь список, пожалуйста".

Ответить | Правка | Наверх | Cообщить модератору

96. Сообщение от Noname (??), 30-Мрт-21, 13:24   +/
Сорта
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #100

97. Сообщение от Чолхан (ok), 30-Мрт-21, 13:49   +/
где-то в глубине используемых шелловых сценариев для таких случаев применяется sipcalc - он не дает себя обмануть:

            Address must be given in the "standard" dotted quad format, ie.: xxx.xxx.xxx.xxx with an optional netmask that can be given in three different ways:
               - CIDR, ex. /n where n >= 0 <= 32.
               - Dotted quad, ex. xxx.xxx.xxx.xxx.
               - A hex value, ex 0xnnnnnnnn or nnnnnnnn.


  
sipcalc 0177.0.0.1
-[int-ipv4 : 0177.0.0.1] - 0

-[ERR : Unable to retrieve interface information]

-

-------
sipcalc 127.0.0.1
-[ipv4 : 127.0.0.1] - 0

[CIDR]
Host address            - 127.0.0.1
Host address (decimal)  - 2130706433
Host address (hex)      - 7F000001
Network address         - 127.0.0.1
Network mask            - 255.255.255.255
Network mask (bits)     - 32
Network mask (hex)      - FFFFFFFF
Broadcast address       - 127.0.0.1
Cisco wildcard          - 0.0.0.0
Addresses in network    - 1
Network range           - 127.0.0.1 - 127.0.0.1

-

Ответить | Правка | Наверх | Cообщить модератору

98. Сообщение от Noname (??), 30-Мрт-21, 13:53   +1 +/
Так задача ж была валидатор писать, а не знать.

Чё не так- то?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

99. Сообщение от Аноним (-), 30-Мрт-21, 15:05   +/
> ребят, а как же говорили что Линукс, ГНУ, Опенсурс - это надежно, нет бакдоров, суперсекюрити, потому что тысячи глаз смотрят код,

никто такого не говорил. на гнуорг вообще обратное написано - что каждый думает что сосед проверит и в итоге все пользуются дырявым кодом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

100. Сообщение от Аноним (87), 30-Мрт-21, 16:23   +/
руби
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96

101. Сообщение от Аноним (-), 30-Мрт-21, 16:35   +/
rust, фас !
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

102. Сообщение от B (?), 30-Мрт-21, 19:16   +/
>> 127..0.0.1

заменить ".." на "."?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

103. Сообщение от B (?), 30-Мрт-21, 19:24   +/
А на авторов либы гоните. Тут свою гений RUSTут!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

104. Сообщение от Chupakaemail (ok), 31-Мрт-21, 11:25   +1 +/
> Например, атакующий может запросить ресурс, указав значение "0177.0.0.1", которое в десятичном представлении соответствует "127.0.0.1"

А, напомните, почему атакующий не может просто запросить ресурс, указав значение "127.0.0.1", раз уж ему дали разрешение указывать значения?..

Ответить | Правка | Наверх | Cообщить модератору

105. Сообщение от Аноним (105), 02-Апр-21, 22:13   +/
На Руби не гони, э.
https://ideone.com/H0ewsR

Тут вам не питонжсы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

106. Сообщение от Аноним (106), 03-Апр-21, 21:29   +/
«в 270 тысячах проектОВ»
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру