270 ਹਜ਼ਾਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਵਰਤੇ ਗਏ ਨੋਡ-ਨੈੱਟਮਾਸਕ NPM ਪੈਕੇਜ ਵਿੱਚ ਕਮਜ਼ੋਰੀ

ਨੋਡ-ਨੈੱਟਮਾਸਕ NPM ਪੈਕੇਜ, ਜਿਸ ਦੇ ਪ੍ਰਤੀ ਹਫ਼ਤੇ ਲਗਭਗ 3 ਮਿਲੀਅਨ ਡਾਊਨਲੋਡ ਹੁੰਦੇ ਹਨ ਅਤੇ GitHub 'ਤੇ 270 ਹਜ਼ਾਰ ਤੋਂ ਵੱਧ ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਨਿਰਭਰਤਾ ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਦੀ ਇੱਕ ਕਮਜ਼ੋਰੀ (CVE-2021-28918) ਹੈ ਜੋ ਇਸਨੂੰ ਨੈੱਟਮਾਸਕ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੀਆਂ ਜਾਂਚਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ। ਪਤਾ ਰੇਂਜਾਂ ਜਾਂ ਫਿਲਟਰਿੰਗ ਲਈ ਮੌਜੂਦਗੀ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ। ਨੋਡ-ਨੈੱਟਮਾਸਕ 2.0.0 ਦੇ ਰੀਲੀਜ਼ ਵਿੱਚ ਮੁੱਦਾ ਹੱਲ ਕੀਤਾ ਗਿਆ ਹੈ।

ਕਮਜ਼ੋਰੀ ਇੱਕ ਬਾਹਰੀ IP ਐਡਰੈੱਸ ਨੂੰ ਅੰਦਰੂਨੀ ਨੈੱਟਵਰਕ ਤੋਂ ਇੱਕ ਪਤੇ ਵਜੋਂ ਮੰਨਣਾ ਸੰਭਵ ਬਣਾਉਂਦੀ ਹੈ ਅਤੇ ਇਸਦੇ ਉਲਟ, ਅਤੇ SSRF (ਸਰਵਰ-ਸਾਈਡ ਬੇਨਤੀ ਜਾਅਲਸਾਜ਼ੀ) ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਨੋਡ-ਨੈੱਟਮਾਸਕ ਮੋਡੀਊਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਇੱਕ ਖਾਸ ਤਰਕ ਨਾਲ, ਆਰ.ਐੱਫ.ਆਈ. (ਰਿਮੋਟ ਫਾਈਲ ਇਨਕਲੂਜ਼ਨ) ਅਤੇ ਐਲਐਫਆਈ (ਲੋਕਲ ਫਾਈਲ ਇਨਕਲੂਜ਼ਨ) ਹਮਲੇ ) ਅੰਦਰੂਨੀ ਨੈਟਵਰਕ ਤੇ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਅਤੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਚੇਨ ਵਿੱਚ ਬਾਹਰੀ ਜਾਂ ਸਥਾਨਕ ਫਾਈਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ। ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਨਿਰਧਾਰਨ ਦੇ ਅਨੁਸਾਰ, ਜ਼ੀਰੋ ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਐਡਰੈੱਸ ਸਟ੍ਰਿੰਗ ਵੈਲਯੂਜ਼ ਨੂੰ ਅਸ਼ਟ ਸੰਖਿਆਵਾਂ ਵਜੋਂ ਸਮਝਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਪਰ ਨੋਡ-ਨੈੱਟਮਾਸਕ ਮੋਡੀਊਲ ਇਸ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਨਹੀਂ ਰੱਖਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਦਸ਼ਮਲਵ ਸੰਖਿਆਵਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਮੰਨਦਾ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਹਮਲਾਵਰ "0177.0.0.1" ਮੁੱਲ ਨਿਰਧਾਰਿਤ ਕਰਕੇ ਇੱਕ ਸਥਾਨਕ ਸਰੋਤ ਦੀ ਬੇਨਤੀ ਕਰ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ "127.0.0.1" ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਪਰ "ਨੋਡ-ਨੈੱਟਮਾਸਕ" ਮੋਡੀਊਲ ਨਲ ਨੂੰ ਰੱਦ ਕਰ ਦੇਵੇਗਾ, ਅਤੇ 0177.0.0.1″ ਨੂੰ "" ਮੰਨੇਗਾ। 177.0.0.1", ਜੋ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਪਹੁੰਚ ਨਿਯਮਾਂ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦੇ ਸਮੇਂ, "127.0.0.1" ਨਾਲ ਪਛਾਣ ਨਿਰਧਾਰਤ ਕਰਨਾ ਸੰਭਵ ਨਹੀਂ ਹੋਵੇਗਾ। ਇਸੇ ਤਰ੍ਹਾਂ, ਇੱਕ ਹਮਲਾਵਰ "0127.0.0.1" ਪਤਾ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ "87.0.0.1" ਦੇ ਸਮਾਨ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਪਰ "ਨੋਡ-ਨੈੱਟਮਾਸਕ" ਮੋਡੀਊਲ ਵਿੱਚ "127.0.0.1" ਮੰਨਿਆ ਜਾਵੇਗਾ। ਇਸੇ ਤਰ੍ਹਾਂ, ਤੁਸੀਂ "012.0.0.1" ("10.0.0.1" ਦੇ ਬਰਾਬਰ, ਪਰ ਚੈੱਕ ਦੇ ਦੌਰਾਨ 12.0.0.1 ਦੇ ਤੌਰ 'ਤੇ ਕਾਰਵਾਈ ਕੀਤੀ ਜਾਵੇਗੀ) ਵਰਗੇ ਮੁੱਲਾਂ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਕੇ ਇੰਟਰਨੈੱਟ ਪਤਿਆਂ ਤੱਕ ਪਹੁੰਚ ਲਈ ਜਾਂਚ ਨੂੰ ਧੋਖਾ ਦੇ ਸਕਦੇ ਹੋ।

ਖੋਜਕਰਤਾਵਾਂ ਜਿਨ੍ਹਾਂ ਨੇ ਸਮੱਸਿਆ ਦੀ ਪਛਾਣ ਕੀਤੀ ਹੈ, ਸਮੱਸਿਆ ਨੂੰ ਵਿਨਾਸ਼ਕਾਰੀ ਕਹਿੰਦੇ ਹਨ ਅਤੇ ਕਈ ਹਮਲੇ ਦੇ ਦ੍ਰਿਸ਼ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਪਰ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਜ਼ਿਆਦਾਤਰ ਅੰਦਾਜ਼ਾ ਲਗਾਉਂਦੇ ਹਨ। ਉਦਾਹਰਨ ਲਈ, ਇਹ ਇੱਕ Node.js-ਅਧਾਰਿਤ ਐਪਲੀਕੇਸ਼ਨ 'ਤੇ ਹਮਲਾ ਕਰਨ ਦੀ ਸੰਭਾਵਨਾ ਬਾਰੇ ਗੱਲ ਕਰਦਾ ਹੈ ਜੋ ਇਨਪੁਟ ਬੇਨਤੀ ਦੇ ਪੈਰਾਮੀਟਰਾਂ ਜਾਂ ਡੇਟਾ ਦੇ ਅਧਾਰ 'ਤੇ ਸਰੋਤ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ ਬਾਹਰੀ ਕਨੈਕਸ਼ਨ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਪਰ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਖਾਸ ਤੌਰ 'ਤੇ ਨਾਮ ਜਾਂ ਵਿਸਤ੍ਰਿਤ ਨਹੀਂ ਹੈ। ਭਾਵੇਂ ਤੁਸੀਂ ਅਜਿਹੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਲੱਭਦੇ ਹੋ ਜੋ ਦਾਖਲ ਕੀਤੇ IP ਪਤਿਆਂ 'ਤੇ ਆਧਾਰਿਤ ਸਰੋਤਾਂ ਨੂੰ ਲੋਡ ਕਰਦੇ ਹਨ, ਇਹ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਪੱਸ਼ਟ ਨਹੀਂ ਹੈ ਕਿ ਕਿਸੇ ਸਥਾਨਕ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਬਿਨਾਂ ਜਾਂ "ਮਿਰਰ" IP ਪਤਿਆਂ 'ਤੇ ਨਿਯੰਤਰਣ ਪ੍ਰਾਪਤ ਕੀਤੇ ਬਿਨਾਂ ਅਭਿਆਸ ਵਿੱਚ ਕਮਜ਼ੋਰੀ ਦਾ ਸ਼ੋਸ਼ਣ ਕਿਵੇਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਖੋਜਕਰਤਾ ਸਿਰਫ ਇਹ ਮੰਨਦੇ ਹਨ ਕਿ 87.0.0.1 (ਟੈਲੀਕਾਮ ਇਟਾਲੀਆ) ਅਤੇ 0177.0.0.1 (ਬ੍ਰਾਜ਼ੀਲ ਟੈਲੀਕਾਮ) ਦੇ ਮਾਲਕ 127.0.0.1 ਤੱਕ ਪਹੁੰਚ ਪਾਬੰਦੀ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਦੇ ਯੋਗ ਹਨ। ਇੱਕ ਹੋਰ ਯਥਾਰਥਵਾਦੀ ਦ੍ਰਿਸ਼ ਵੱਖ-ਵੱਖ ਐਪਲੀਕੇਸ਼ਨ-ਸਾਈਡ ਬਲਾਕ ਸੂਚੀਆਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਲਈ ਕਮਜ਼ੋਰੀ ਦਾ ਸ਼ੋਸ਼ਣ ਕਰਨਾ ਹੈ। ਇਹ ਮੁੱਦਾ NPM ਮੋਡੀਊਲ "ਪ੍ਰਾਈਵੇਟ-ਆਈਪੀ" ਵਿੱਚ ਇੰਟਰਾਨੈੱਟ ਰੇਂਜਾਂ ਦੀ ਪਰਿਭਾਸ਼ਾ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਲਈ ਵੀ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।

ਸਰੋਤ: opennet.ru

ਇੱਕ ਟਿੱਪਣੀ ਜੋੜੋ